如何使用查询FOR DB2的结果填充单维数组?

时间:2013-05-14 15:55:56

标签: sql stored-procedures plsql db2

我需要使用select查询中的结果集填充单维数组。

我使用以下方法创建了数组类型: 创建或替换类型UR.array_traveler_id为BIGINT array [];

并且在存储过程中我使用以下SELECT INTO查询:

SELECT TRAVELER_ID bulk collect 
INTO arraylist 
FROM UR.APPLIEDPROFILE 
where TRAVELERPROFILEID = p_travelerid;

我已将arraylist宣布为: DECLARE arraylist UR.array_traveler_id;

我不知道问题是什么,但DB2不允许我使用BULK COLLECTION。

我得到的错误是“意外的令牌”收集“被发现...... SQLSTATE = 42601”

请建议一下。

1 个答案:

答案 0 :(得分:0)

BULK COLLECT子句仅在PL / SQL上下文中有效。您应该运行DB2 9.7修订包1或更高版本,必须在Oracle兼容模式下创建数据库,并且该过程必须用PL / SQL编写,而不是用DB2 SQL PL编写。