Stored procedures 向DB2存储过程发送一个列表参数

Stored procedures 向DB2存储过程发送一个列表参数,stored-procedures,db2,Stored Procedures,Db2,我有一个db2存储过程,它有一个使用“recseq In(1,2,3)”语法的sql语句。 我已经添加了一个参数(字符(5))来保存列表,但是在我的call语句中,我无法找出正确的语法 我尝试调用myprocedure(1,'1,2,3'),但这会生成转换错误 注意:调用myprocedure(1,'1')可以,但不是列表样式。您使用的是哪个DB2版本?某些版本支持数组作为存储过程参数。这不起作用的原因是SQL(DB2或其他任何版本)不是“本机”的将带分隔符的字符串转换为列表;它将其视为单个数据

我有一个db2存储过程,它有一个使用“recseq In(1,2,3)”语法的sql语句。 我已经添加了一个参数(字符(5))来保存列表,但是在我的call语句中,我无法找出正确的语法

我尝试调用myprocedure(1,'1,2,3'),但这会生成转换错误


注意:调用myprocedure(1,'1')可以,但不是列表样式。

您使用的是哪个DB2版本?某些版本支持数组作为存储过程参数。这不起作用的原因是SQL(DB2或其他任何版本)不是“本机”的将带分隔符的字符串转换为列表;它将其视为单个数据段,您可以编写一个函数/递归CTE来拆分它并返回一个表。否则,特别是当列表很大时,请声明一个临时表,插入其中,然后使用它。