C# SQL插入-删除表

C# SQL插入-删除表,c#,sql,sql-server,triggers,sql-update,C#,Sql,Sql Server,Triggers,Sql Update,我想更新一个表,并从SQLServer的默认“插入”表中获取更新的记录 更新以下查询的一部分已成功,但为什么查询的其余“SELECT*FROM inserted”部分会引发错误为“Invalid object name‘inserted’” 您可能希望执行以下操作: UPDATE TOP(50) Person.Address set city='Paris' output inserted.* 除非您想要旧值,在这种情况下,请使用deleted.*作为独立项,inserted和delete

我想更新一个表,并从SQLServer的默认“插入”表中获取更新的记录

更新以下查询的一部分已成功,但为什么查询的其余“SELECT*FROM inserted”部分会引发错误为“Invalid object name‘inserted’”


您可能希望执行以下操作:

 UPDATE TOP(50) Person.Address set
 city='Paris' output inserted.*

除非您想要旧值,在这种情况下,请使用deleted.*

作为独立项,
inserted
deleted
只能在触发器中使用。似乎您需要受
更新影响的记录列表?在这种情况下,您需要使用SqlACID建议的
output
子句或
output inserted.*
等来从受影响的行中获取所有列。这会引发错误:“Msg 334,第16级,状态1,第1行如果DML语句包含不带INTO子句的OUTPUT子句,则DML语句的目标表'Person.Address'不能有任何已启用的触发器。”@Ahmet Altun-您必须创建一个表变量来捕获输出,然后在更新语句后查询该表。
 UPDATE TOP(50) Person.Address set
 city='Paris' output inserted.*