- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PL/SQLのDELETE文について)
PL/SQLのDELETE文について
このQ&Aのポイント
- PL/SQLのDELETE文の書き方について質問しています。
- 削除条件が複雑なDELETE文の例を示しており、正しい書き方を知りたいとしています。
- TABLE1を削除する際の条件としてTABLE2のTENSUが0であり、かつTABLE3が存在しないという条件を設定したいとしています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
PL/SQLというより、単純なSQLですね。 DELETE TABLE1 WHERE TABLE1.ID in (select TABLE2.ID FROM TABLE WHERE TABLE2.TENSU=0 AND TABLE2.ID Not in (SELECT TABLE3.ID TABLE3 WHERE TABLE3.ID=TABLE2.ID ) ) でしょうかね? 実行確認せずに記述してますので間違ってたらごめんなさい。
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.2
すみません。一部訂正します。 DELETE TABLE1 WHERE TABLE1.ID in (select TABLE2.ID FROM TABLE WHERE TABLE2.TENSU=0 AND TABLE2.ID Not in (SELECT TABLE3.ID TABLE3 ) ) 通常の数式のルールと同じく、括弧の中から処理されます。 Deleteの条件文(select table2.id以降)でテストしてみて OKならdelete文を追加してください。 なお、3テーブルともIDにINDEXを作成した方が速いかな?
お礼
早速の回答、ありがとうございます! INを使わないといけなかったんですね・・・。 SQLもあまりやったことないので。 これを参考に、PG作ってみたら、できました。 ホントにありがとうございました(^^)