コンマ区切りの文字列を配列に変換し、それを反復処理する PL/SQL を作成しようとしています。
そのために、次のようにデータ型を作成しました。
"CODE_TABLE_TYPE" AS TABLE OF VARCHAR2(500)
関数を作成しました-STR_TO_CODE_TABLE
カンマ区切りの文字列をCODE_TABLE_TYPEのテーブルに変換します。
PL/SQL は次のようになります。
FOR DEP IN ( SELECT * FROM TABLE ( CAST( STR_TO_CODE_TABLE( IN_DES_AIRPORTS ) AS CODE_TABLE_TYPE ) ) ) LOOP
SELECT * INTO RESULTS FROM MY_TABLE
WHERE IN_ID = MY_TABLE.ID
AND ( SELECT 1 FROM TEMP_TABLE WHERE DEPARTURE LIKE '%' || DEP || '%' )= 1;
END LOOP;
しかし、「式の型が間違っています」というエラーが発生します。ただし、データ型は varchar2 です。
誰でもこれの考えられる原因を教えてください。この問題を回避するにはどうすればよいですか?