以下に示すPL/SQLスクリプトは、20行目で実行に失敗しています。
declare
type string_table is table of varchar(100);
v_names string_table := string_table();
begin
v_names.EXTEND(3);
v_names(1) := 'name1';
v_names(2) := 'name2';
v_names(3) := 'name3';
dbms_output.put_line(v_names(1));
dbms_output.put_line(v_names(2));
dbms_output.put_line(v_names(3));
dbms_output.put_line(v_names.COUNT());
20 select * from table(v_names);
end;
報告されるエラーメッセージは次のとおりです。
ORA-06550:行20、列23: PLS-00642:ローカルコレクションタイプはSQLステートメントでは許可されていません ORA-06550:行20、列17: PL / SQL:ORA-22905:ネストされていない表項目の行にアクセスできません ORA-06550:行20、列3: PL / SQL:SQL文は無視されます。
この問題を解決する方法についてのアイデア。
この質問をSOに投稿する目的でのみ、このコードを記述したことに注意してください。同様のコードは、より大きなパッケージの一部です...
前もって感謝します!
禅