0

選択クエリからの結果セットを 1 次元配列に設定する必要があります。

次を使用して配列型を作成しました: create or replace type UR.array_traveler_id as 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 の使用が許可されていません。

私が得ているエラーは、「予期しないトークン "collect" が見つかりました.....SQLSTATE=42601」です。

回避策を提案してください。

4

1 に答える 1

0

BULK COLLECT 句は、PL/SQL コンテキストでのみ有効です。DB2 9.7 フィックスパック 1 以降を実行している必要があります。データベースは Oracle 互換モードで作成されている必要があり、プロシージャは DB2 SQL PL ではなく PL/SQL で記述されている必要があります。

于 2013-05-14T16:17:07.667 に答える