【发布时间】:2021-04-05 09:41:07
【问题描述】:
我在 SSMS 中运行了以下查询,但没有在表变量中捕获结果。有什么方法可以使用临时创建的 DELETED 表获取已删除的行?我还没有关闭 SQL 会话。我在运行以下查询的同一会话中。
delete from [AdventureWorksDW2014].[dbo].[FactCallCenter]
output deleted.*
where FactCallCenterID = 119
【问题讨论】:
-
是否 SSMS 已将输出的行捕获到其结果网格中(请注意,鉴于它是删除查询,可能会显示文本结果流。如果您看到“10000 行受影响”,请按 Ctrl-D 到切换到数据网格视图)?这里没有 OUTPUT INTO,因此这些行没有放入 SQLServer 知道的任何内容中
-
如果您打开了结果窗口,您可以将该数据复制到某个东西中,然后将它们转换为 DDL 和 DML 语句,否则不,它们消失了。您需要将
RESTORE数据库置于DELETE之前的位置。 -
Caius - 是的,我能够在网格中看到结果。
-
Larnu - 是的,窗口是打开的。你能按照你说的给我SQL来复制数据吗?
标签: sql sql-server-2012 output recover