テーブルAを親テーブルとし、テーブルBをテーブルAとの外部キー制約を持つ子テーブルとして、2つのテーブルAとBを作成しました。
以下は、表Aの内容です
CUS_ID NAME
1 MICHAEL
2 SANDRO
3 ROBERT
以下は、表 B の内容です。
CUS_ID ORDER
2 PIZZA
3 BURGER
上記のテーブルに挿入するために、次の形式で入力データを取得します。
NAME ORDERS
SANDRO BURGER
ROBERT PIZZA
親テーブルのテーブル A のデータを検証した後、テーブル B にデータを挿入する pl/sql プロシージャを作成しようとしています。
シナリオ 1: 親テーブルのテーブル A でデータが利用可能で、テーブル B にのみデータを挿入する場合。
シナリオ 2: 親テーブルのテーブル A にデータがない場合は、テーブル A に NAME を挿入し、テーブル B に ORDER データを挿入します。
シナリオ 2 では、次の pl/sql コードを使用して実現できます
INSERT INTO TABLE_A (cus_id, name)
VALUES (cus_seq.NEXTVAL, NAME)
RETURNING cus_id INTO l_cus_id;
INSERT INTO TABLE_B (cus_id, order)
VALUES (order_seq.NEXTVAL, l_cus_id, ORDER);
シナリオ 1 を達成するために助けが必要です。両方のシナリオを最適な方法で達成するための他の提案を楽しみにしています。