0

カーソルを宣言してプロシージャ本体で使用すると、その場でテーブルを作成する動的SQLステートメントがあります。その後、宣言したのと同じカーソルにアクセスする必要があります。

動的SQLステートメントを実行する前にカーソルを開こうとすると、正常に動作します。

動的SQLステートメントの実行後にカーソルを開こうとすると、カーソルが開かれません。

私を助けてください。

ありがとうございました。

   create or replace procedure(columns varchar2)
   is
   column_names varchar2(100);
   sql_query varchar2(200);
   begin
       select pk_cols into column_names
       from rules where rule_column=columns;

       sql_query:='create global temporary table ('||column_names||')';
       execute immediate sql_query;
   end;
4

1 に答える 1