1、id varchar(32)后面少个逗号;2、UDF只能在有一个RETURN语句。另外,UDF不支持动态SQL,因此你的需求一个函数不能实现,写两个吧,或者考虑返回游标的存储过程。[back2@localhost tmp]$ db2 -td@ -vf fun_test.sql DROP FUNCTION BACK.TESTDB20000I The SQL command c...显示全部
1、id varchar(32)后面少个逗号;
2、UDF只能在有一个RETURN语句。
另外,UDF不支持动态SQL,因此你的需求一个函数不能实现,写两个吧,或者考虑返回游标的存储过程。
[back2@localhost tmp]$ db2 -td@ -vf fun_test.sql
DROP FUNCTION BACK.TEST
DB20000I The SQL command completed successfully.
CREATE FUNCTION BACK.TEST(P1 INTEGER)
RETURNS TABLE(ID INTEGER, NAME VARCHAR(32))
BEGIN ATOMIC
RETURN VALUES(P1,'AAAAAAAAAA'),(P1+99,'BBBBBBBBBB');
END
DB20000I The SQL command completed successfully.
[back2@localhost tmp]$
[back2@localhost tmp]$
[back2@localhost tmp]$ db2 "select * from table(back.test(100)) as tmp"
ID NAME
----------- --------------------------------
100 AAAAAAAAAA
199 BBBBBBBBBB
2 record(s) selected.
[back2@localhost tmp]$收起