我想运行一个SELECT语句,我想为同一行执行DELETE语句,并且读取结果由SQL Server响应。
答案 0 :(得分:1)
WITH cte AS (
SELECT *
FROM <mytable>
WHERE key = <mykey>)
DELETE cte
OUTPUT deleted.*;
有很多方法可以给这只猫上皮。我经常会发布一个因为非常易读的内容。它清楚地将SELECT分成它自己的查询表达式,允许轻松创建复杂查询。它会删除查询结果。它outputs已删除的行。
对于简单的WHERE子句,以下内容也非常有效且简单:
DELETE <mytable>
OUTPUT deleted.*
WHERE key = <mykey>;