-1

異なる手順でパッケージを繰り返し実行するpl sqlコードがあります。コンパイルすると、警告が表示されますが、エラーは発生しません。コードは次のとおりです。

for v_col_name in (select col_table_name from tbl_name)
loop    
   v_execute_string := 'package.'||v_col_name (par1 ,par2);
   execute immediate 'begin '|| v_execute_string; 'end;'
end loop

エラー:

手順 abc コンパイル済み 警告: 実行は警告付きで完了しました

それを確認すると、問題が以下の部分にあるかのように表示されます。

execute immediate 'begin '|| v_execute_string; 'end;'

どんな助けでも大歓迎です。

4

1 に答える 1

2

v_execute_string と 'end;' の間に、行を終了するセミコロンがあります。

する必要がありますexecute immediate 'begin '|| v_execute_string || ' end;'

そして、 v_col_name もプロシージャでない限り...おそらく次のように行を作成する必要があります。

v_execute_string := 'package.'||v_col_name||'(par1 ,par2)';
于 2013-03-28T19:06:07.063 に答える