- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プロシージャの記述の仕方)
テーブルAとテーブルBのプロシージャの記述方法
このQ&Aのポイント
- テーブルAとテーブルBのレイアウト(列名・サイズetc)は同じで、唯一の違いはテーブルAがフラグを持っていることです。
- テーブルAのフラグが1のレコードは、テーブルBにフラグ以外のレイアウトをINSERTし、フラグが2のレコードは一意のコードをキーにしてDELETEを行う処理を行いたいです。
- クエリを実行するプロシージャを作成し、テーブルAのフラグに応じてテーブルBにレコードを追加または削除することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>プロシージャとカーソルを使って記述したいんです。 ということでしたらしょうがないですね。 こんな感じでいいのでは? #あんまりASって見ないですね。ほとんどISかなぁ。
その他の回答 (2)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.2
deleteの方間違えました(^^;; delete from B where exists( select * from A where B.キー1 = A.キー1 and B.キー2 = A.キー2 and A.フラグ <> 1);
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.1
ストアド不要。SQLで2行。 inserst into select 項目名1, 項目名2, ・・・ from A where フラグ = 1; delete from B where フラグ <> 1 and exists( select * from A where B.キー1 = A.キー1 and B.キー2 = A.キー2 );
質問者
補足
ありがとうございます。 説明不足ですいません。 処理としては、この処理以外にもあるので プロシージャとカーソルを使って記述したいんです。
お礼
ありがとうございます。 参考にさせていただきます。