sql 获取成功更新后的数据
表

sql
使用inserted获取更新受影响行
DECLARE @tempGroup table (FirstName VARCHAR(50),Address VARCHAR(100),City VARCHAR(50)) UPDATE Persons SET City='CHENGDU' OUTPUT inserted.LastName,inserted.Address,inserted.City INTO @tempGroup WHERE FirstName='Thomas' SELECT * FROM @tempGroup
结果:

使用deleted获取更新受影响行
DECLARE @tempGroup table (FirstName VARCHAR(50),Address VARCHAR(100),City VARCHAR(50)) UPDATE Persons SET City='CHENGDU' OUTPUT deleted.LastName,deleted.Address,deleted.City INTO @tempGroup WHERE FirstName='Thomas' SELECT * FROM @tempGroup
结果:

关于inserted和deleted
deleted表:用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。
inserted表:用于存储INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。
增加操作(Insert)
inserted表增加数据,deleted表无数据
删除操作(Delete)
inserted表无数据,deleted表增加数据
修改操作(Update)
inserted表增加数据(新数据),deleted表增加数据(旧数据),从以上例子中的City列可以看出deleted表存储的是修改前的旧数据,inserted表存储的是修改后的新数据

浙公网安备 33010602011771号