0

現在、プロシージャにカーソルを設定しようとしています。

そのように:

Function notImportantFunction
   variable nothing(20);
   Cursor notImportantCursor Is select...;
   Cursor THEcursor;
begin
    open notImportantCursor;
    open THEcursor;
    LOOP
        FETCH notImportantCursor variable;
    EXIT WHEN notImportantCursor%NOTFOUND;
        THEcursor is select ...; //trying to populate THEcursor
    end loop;
    close THEcursor;
    close notImportantCursor;
end;

ここで重要なのはTHEcursorだけであることを示すために、変数に奇妙な名前を使用しました。

私が試みていることは可能ですか?または、別の方法で同じことを行うにはどうすればよいでしょうか。

前もって感謝します

4

2 に答える 2

1

あなたが求めているのは、「カーソルを宣言するときに定義する必要のないクエリに基づいてカーソルを作成できますか」ということだと思います。それが必要な場合は、ここで動的SQLに関する情報を探してください。

動的 SQL

コンパイル時に存在しないデータベース オブジェクトの参照セクションに完全な例があります。必要に応じて、カーソルを毎回再作成できます。
各レコードに 3 つの値を保持するカーソルを作成し、それらの値をさまざまな方法で設定するなど、もう少し柔軟なものが必要な場合は、パイプライン化されたテーブル関数を探すことができます。

于 2009-11-24T19:35:26.263 に答える
0

あなたが何をしようとしているのかよくわかりません-カーソルを入れますか?カーソルはクエリに基づいていますが、どのようにそれを設定する予定ですか?カーソルに基づいてテーブルにデータを入力したいですか?これを行うには、カーソルの結果をコレクションに累積してから、一括挿入を使用してテーブルにデータを入力します。

于 2009-11-24T19:13:20.020 に答える