みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

異なるテーブルのレコード削除

オラクル初心者です。宜しくお願いします。
AAA、BBB、CCCというテーブルがあると仮定します。
画面から入力された値(ddd)をキーとして、CCCテーブルから該当するレコードをセレクト文で引っ張り、eeeという値を抜き出したとします。
そのeeeという値をキーにAAA、BBBテーブルのレコードを削除するにはどういうSQLを発行すればよろしいでしょうか?
"delete from
AAA, BBB
where eee =
(select eee from CCC where fff = ddd);"
では駄目でした。
質問が下手でわかりにくいかもしれませんが、どうかご教授お願いします。

投稿日時 - 2007-01-21 03:46:54

QNo.2682967

すぐに回答ほしいです

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

DELETE文1文では、1つのテーブルに対してしか操作できませんので、
DELETE文を2つ投入するか、PL/SQLブロックとして投入するかいずれかに
なります。
(無名PL/SQLが投入できるミドルウエアと投入できないミドルウエアがあります)

投稿日時 - 2007-01-21 14:24:02

お礼

早速の回答ありがとうございます。
PL/SQLはわからないので2つのdelete文で削除しようと思います。
ありがとうございました!

投稿日時 - 2007-01-21 20:37:09

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

delete from
AAA, BBB <<<===複数テーブルはダメなんじゃないかなぁ
where eee = <<<=== "="を in にする
(select eee from CCC where fff = ddd);

投稿日時 - 2007-01-21 04:23:17

お礼

inをつける方法もあるんですね。
またひとつ勉強になりました。ありがとうございます!
やっぱり複数テーブルは無理ですか…(汗

投稿日時 - 2007-01-21 20:36:04

あなたにオススメの質問