我需要使用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”
请建议一下。
答案 0 :(得分:0)
BULK COLLECT子句仅在PL / SQL上下文中有效。您应该运行DB2 9.7修订包1或更高版本,必须在Oracle兼容模式下创建数据库,并且该过程必须用PL / SQL编写,而不是用DB2 SQL PL编写。