• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プロシージャの記述の仕方)

テーブルAとテーブルBのプロシージャの記述方法

このQ&Aのポイント
  • テーブルAとテーブルBのレイアウト(列名・サイズetc)は同じで、唯一の違いはテーブルAがフラグを持っていることです。
  • テーブルAのフラグが1のレコードは、テーブルBにフラグ以外のレイアウトをINSERTし、フラグが2のレコードは一意のコードをキーにしてDELETEを行う処理を行いたいです。
  • クエリを実行するプロシージャを作成し、テーブルAのフラグに応じてテーブルBにレコードを追加または削除することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

>プロシージャとカーソルを使って記述したいんです。 ということでしたらしょうがないですね。 こんな感じでいいのでは? #あんまりASって見ないですね。ほとんどISかなぁ。

Ryo921
質問者

お礼

ありがとうございます。 参考にさせていただきます。

その他の回答 (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 );

Ryo921
質問者

補足

ありがとうございます。 説明不足ですいません。 処理としては、この処理以外にもあるので プロシージャとカーソルを使って記述したいんです。

関連するQ&A