0

我需要使用来自选择查询的结果集填充一维数组。

我使用以下方法创建了数组类型:创建或替换类型 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 之后发现了一个意外的令牌“收集”

请提出一种解决方法。

4

1 回答 1

0

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

于 2013-05-14T16:17:07.667 回答