SQL Server 2008中用于更新操作的魔术表

当我们对任何表执行插入、删除或者更新操作时,数据都会以表的形式放入服务器内部创建的临时对象中,称为 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