DB2中的UNNEST函数抛出错误

时间:2015-08-25 20:15:54

标签: sql database db2 ibm-db2

我正在研究DB2数据库并使用TOAD来执行以下语句。 STRINGARRAY已在MYSCHEMA中创建为Arraytype。

BEGIN 
DECLARE CASE_ID_LIST MYSCHEMA.STRINGARRAY; 
SET CASE_ID_LIST = ARRAY['A001','A002','A003','A004']; 
SELECT T.ID,T.NUM FROM UNNEST(CASE_ID_LIST) AS T(ID,NUM); 
END

这句话引发了一条错误,上面写着“SQL0104N意外令牌”UNNEST“被发现......”

我的目的是在where条件的IN子句中传递arraylist。我正在尝试使用这个select语句来测试UNNEST函数的使用。

我的最终查询将如下所示:

BEGIN 
DECLARE CASE_ID_LIST MYSCHEMA.STRINGARRAY; 
SET CASE_ID_LIST = ARRAY['A001','A002','A003','A004']; 
SELECT * FROM MYSCHEMA.TABLENAME WHERE CASE_ID IN (SELECT T.NUM FROM UNNEST(CASE_ID_LIST) AS T(NUM));
END

请告知我如何才能完成这项工作。先感谢您!!

0 个答案:

没有答案