私はPL/SQLが初めてで、一括挿入を作成しています。私は入れ子にされたカーソルを持っていて、内側のカーソルの中にレコードをコレクションに追加して、一括挿入を実行します。私は、コレクションを作成します。カーソル内のテーブルへの追加
TYPE mydata_tab IS TABLE OF mydata%ROWTYPE INDEX BY BINARY_INTEGER;
v_mydata_tab mydata_tab;
そして、私のカーソルは次のようになります。
FOR rec_one IN cursor_one LOOP
strKey := rec_one.key;
FOR rec_two IN cursor_two LOOP
-- here is where I want to add a record to v_mydata_tab, that uses properties of both rec_one and rec_two
-- something like SELECT rec_one.key, rec_one.a, rec_two.b INTO v_mydata_tab;
END LOOP;
END LOOP;
私はSELECT INTO
とINSERT INTO
でいじってきましたが、これを取得する方法を見つけ出すように見えることはできません作業。あなたが1つの選択ステートメントに2つのカーソルのSQLを組み合わせることができれば、あなたの代わりにこれを行うことができ、もちろん
n := 0; -- n is integer variable declared above
FOR rec_one IN cursor_one LOOP
strKey := rec_one.key;
FOR rec_two IN cursor_two LOOP
n := n + 1;
v_mydata(n).key := rec_one.key;
v_mydata(n).a := rec_two.a;
v_mydata(n).b := rec_two.b;
END LOOP;
END LOOP;
:
ありがとうございます!私は実際のデータのためにSQLを組み合わせるオプションがありませんが、最初の例は私が必要としていたものです。 – Paul