在将逗号分隔的字符串传递到DB2存储过程中时遇到一个问题。我需要为从调用应用程序获取的acct_numbers的给定列表选择emp_names。
我在SP中使用的SQL是:
DECLARE CSR1 CURSOR WITH RETURN FOR
SELECT emp_name
FROM employee_table
WHERE account_id IN (in_acct_Numbers)
WITH UR;
主叫应用程序将in_acct_Numbers传递为'1234',456',78901' 我的Cusror没有返回任何值。如果我仅为in_acct_Numbers传递一个值(例如'1234'),它将起作用。有人可以提供有关如何将逗号分隔的字符串传递给DB2存储过程中WHERE子句的IN参数的建议吗?我正在使用DB2版本11。
我在SP中使用的SQL是:
DECLARE CSR1 CURSOR WITH RETURN FOR
SELECT emp_name
FROM employee_table
WHERE account_id IN (in_acct_Numbers)
WITH UR;
DECLARE CSR1 CURSOR WITH RETURN FOR
SELECT emp_name
FROM employee_table
WHERE account_id IN (in_acct_Numbers)
WITH UR;
预期结果是,由于我要在in_acct_Numbers中传递三个帐户,因此光标应选择三行(emp_名称)。