为什么我们无法在 SQL 服务器中查看已删除的 table
Why can't we view deleted table in SQL Server
"logical table?" 即 Deleted
和 Inserted
是什么意思。也就是说,为什么我们不能这样做:
Delete
From exampletable
Select *
From deleted
在同一会话中查看删除的结果 table?
您可能搜索 OUPUT
子句:
Delete From exampletable
OUTPUT deleted.*
DELETED
和 INSERTED
table 由 SQL 引擎创建,用于处理数据操作语句中的数据操作。将它们视为类似于您将在存储过程中创建的用于保存临时结果的临时 table。
一旦您的 DML 语句完成,SQL 服务器不再需要它们,因此 "drops" "temp tables" 并且它们不再在那里查询。但是,您可以使用 DML 语句中的 OUTPUT
子句访问它们,正如@LucaszSzozda 解释的那样,因为此时引擎还没有删除它们。
"logical table?" 即 Deleted
和 Inserted
是什么意思。也就是说,为什么我们不能这样做:
Delete
From exampletable
Select *
From deleted
在同一会话中查看删除的结果 table?
您可能搜索 OUPUT
子句:
Delete From exampletable
OUTPUT deleted.*
DELETED
和 INSERTED
table 由 SQL 引擎创建,用于处理数据操作语句中的数据操作。将它们视为类似于您将在存储过程中创建的用于保存临时结果的临时 table。
一旦您的 DML 语句完成,SQL 服务器不再需要它们,因此 "drops" "temp tables" 并且它们不再在那里查询。但是,您可以使用 DML 语句中的 OUTPUT
子句访问它们,正如@LucaszSzozda 解释的那样,因为此时引擎还没有删除它们。