我正在尝试在DB2400中创建UDTF
我想要一个ILE CL程序。该程序已创建并按我的要求运行。
我创建了UDTF
b
显然已经创建了
我尝试运行它
create function SMLFQA.XAJJUPC_LE(USERID CHAR(10))
returns table (
STATUS CHAR(3),
USED DEC(7, 0),
CREATED DEC(7, 0),
SIGNON DEC(7, 0),
EXCLUDE DEC(7, 0))
EXTERNAL NAME 'SMLPQA/XAJJUPC_LE'
specific XAJJUPC_LE
language CL
DISALLOW PARALLEL
NO SQL
PARAMETER STYLE DB2SQL
我得到了什么
select * from table(smlfqa.xajjuc_le('xxxxx')) a
我很确定它会创建,因为它不会让我再次创建它,直到我第一次删除它。
关于我做错了什么的任何建议?
答案 0 :(得分:1)
SQL中的字符串文字是varchar。您已将UDTF定义为需要char参数。
由于SQL允许函数重载,因此它正在寻找一个接受varchar的函数。
将parm更改为varchar(CL不支持),或者转换文字。
select * from table(smlfqa.xajjuc_le(char('xxxxx'))) a