Sql server 我可以从输出子句中筛选结果而不将其存储在表中吗?

Sql server 我可以从输出子句中筛选结果而不将其存储在表中吗?,sql-server,tsql,Sql Server,Tsql,我正在处理一些SQL,并使用OUTPUT子句进行调试。我有一个DELETE FROM table OUTPUT DELETED.,它显示了我删除的记录 有没有办法向其中添加WHERE子句,这样我就不必专门创建一个表来存储输出以过滤这些结果?它有几个连接,因此我必须在任何临时表上指定60多个列。您只需定义要跟踪的列(在#temp或@variable甚至是real表中) 请参见我的示例: 文章中的代码示例: delete from dbo.EmployeeTable output deleted.

我正在处理一些SQL,并使用OUTPUT子句进行调试。我有一个
DELETE FROM table OUTPUT DELETED.
,它显示了我删除的记录


有没有办法向其中添加WHERE子句,这样我就不必专门创建一个表来存储输出以过滤这些结果?它有几个连接,因此我必须在任何临时表上指定60多个列。

您只需定义要跟踪的列(在#temp或@variable甚至是real表中)

请参见我的示例:

文章中的代码示例:

delete from dbo.EmployeeTable
output deleted.EmpKey into dbo.AuditTable (EntityKey)
 where EmpAge > 0;

是否试图限制列数…因为DELETED.*返回的列数超过60列?这是您问题的关键吗?至于过滤输出子句,问题已经被提出并回答了,并对更多示例进行了评论。