当我们对任何表执行插入、删除或者更新操作时,数据都会以表的形式放入服务器内部创建的临时对象中,称为 Magic Tables。
在本文中,将介绍用于更新操作的魔术表。
用于更新操作的魔术表例子
创建表并插入一些值
create table empl ( eid int, ename varchar(20) ) insert into empl select 101,'jack' union all select 102,'tom' union all select 103,'james'
从EMPL表查询数据
select * from empl
创建更新操作的魔术表
创建触发器的触发器,我们可以看到插入的魔术表和删除的魔术表。
create trigger Update_MagicTable on empl for update as -- 记录将首先删除并维护已删除表中的行 select * from deleted -- 更新的数据将保留在插入表中 select * from inserted
现在更新一些值,以便显示update_magictable触发器触发信息。
update empl set ename='john' where eid=101
用于更新操作的魔术表
SQL Server 中基本上有两种魔术表:插入和删除,可以借助这两种魔术表进行更新。 魔术表也可以与触发器和非触发器一起使用,例如:存储过程。 当我们执行更新操作时,记录将首先删除并维护已删除表中的行,更新后的数据将维护在插入表中。 让我们看看下面的魔术表的更新操作演示。
日期:2020-06-02 22:18:03 来源:oir作者:oir