7

行を返す SELECT と、選択した行のサブセットを削除する DELETE を組み合わせたいですか?

これは可能ですか?

4

2 に答える 2

12

すべての候補を返す SELECT ステートメントがある場合は、SELECT を OUTPUT DELETED.* で DELETE に変更するだけです。

 SELECT * 
 FROM tbl1
 INNER JOIN tbl2 on tlb1.col = tbl2.col
 INNER JOIN tlb3 on tbl2.anothercol = tbl3.somecol
 WHERE blah blah blah

になることができる:

 DELETE tbl1 OUTPUT DELETED.*
 FROM tbl1
 INNER JOIN tbl2 on tlb1.col = tbl2.col
 INNER JOIN tlb3 on tbl2.anothercol = tbl3.somecol
 WHERE blah blah blah
于 2013-05-21T12:35:14.737 に答える