• ベストアンサー

Oracle delete文について

お世話になります。 Oracle初心者です。 delete文の条件で他テーブルの列の値(列名は両方テーブルとも同じ) と同じ所の行を削除したいと思っているのですが、 コンパイルエラーになります。 基本的な書き方が悪いのでしょうか。 どなたかご親切な方、御教示頂きたく宜しくお願い致します。        記 delete from ( select 受注NO from T受注明細 where T受注明細.受注NO = D売上.受注NO)

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

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 > delete from > ( > select 受注NO from T受注明細 > where T受注明細.受注NO = D売上.受注NO) こう言う事でしょうか? delete from T受注明細 where 受注NO in (select 受注NO from D売上); 又は delete from T受注明細 T1 where exists (select null from D売上 T2 where T1.受注NO = T2.受注NO); 削除する件数と索引の有無によって、どちらのSQL が高速化は異なりますので ご注意下さい。

miruchoko
質問者

お礼

ありがとうございます。 大変助かります。 月曜日会社で試してみます。

すると、全ての回答が全文表示されます。

専門家に質問してみよう