如何在SQL Server 2005中的一个实例中运行多个查询

时间:2009-09-08 10:55:10

标签: sql-server sql-server-2005

我想运行一个SELECT语句,我想为同一行执行DELETE语句,并且读取结果由SQL Server响应。

1 个答案:

答案 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>;