选择获取结果然后删除

时间:2015-04-12 09:29:19

标签: sql sql-server

您好我需要从DB中选择单个条目,然后删除所选行但我还需要获得选择结果。

delete from Emails where Emails.Id in (select top (1) t.Id from Emails t)

此查询返回已删除行的数量,但我需要获取所选行的结果。怎么解决?谢谢!

2 个答案:

答案 0 :(得分:2)

在你的情况下你可以做这样的事情

delete top(1) from Emails
output deleted.*

以下是有关output子句的更多信息。

<强> sql fiddle demo

答案 1 :(得分:0)

  

我需要从DB中选择单个条目,然后删除所选行但是我   也需要得到选择的结果。

您可以声明变量,将选定的单个值存储在其中,然后删除您的记录:

Declare @v int
set @v= (select top (1) t.Id from Emails t)

delete from Emails where Emails.Id=@v