SQL - 返回已删除的行

Geo*_*ott 5 sql select sql-delete

我想组合一个返回行的SELECT和一个删除我选择的行子集的DELETE?

这可能吗?

Bil*_*egg 8

如果您有一个返回所有候选项的SELECT语句,只需将SELECT更改为DELETE,并使用OUTPUT DELETED.*.

 SELECT * 
 FROM tbl1
 INNER JOIN tbl2 on tlb1.col = tbl2.col
 INNER JOIN tlb3 on tbl2.anothercol = tbl3.somecol
 WHERE blah blah blah
Run Code Online (Sandbox Code Playgroud)

可以变成:

 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
Run Code Online (Sandbox Code Playgroud)