数据库触发器deleted 与inserted 数据的差异

deleted 与inserted 数据的差异

Inserted

存放进行insert和update 操作后的数据

Deleted

存放进行delete 和update操作前的数据

注意:update 操作相当于先进行delete 再进行insert  ,所以在进行update操作时,修改前的数据拷贝一条到deleted 表中,修改后

的数据在存到触发器作用的表的同时,也同时生成一条拷贝到insered表中

用图更好理解:

时间: 2024-10-07 11:26:53

数据库触发器deleted 与inserted 数据的差异的相关文章

数据库触发器inserted和deleted详解

create trigger updateDeleteTimeon userfor updateasbegin  update user set UpdateTime=(getdate()) from user inner join inserted on user.UID=Inserted.UIDend 上面的例子是在执行更新操作的时候同时更新,一下修改时间.关键在于Inserted表触发器语句中使用了两种特殊的表:deleted 表和 inserted 表.Deleted 表用于存储 DEL

触发器中的inserted表和deleted表

触发器语句中使用了两种特殊的表:deleted 表和 inserted 表.Microsoft? SQL Server 2000 自动创建和管理这些表.可以使用这两个临时的驻留内存的表测试某些数据修改的效果及设置触发器操作的条件:然而,不能直接对表中的数据进行更改. inserted和deleted表主要用于触发器中: ·扩展表间引用完整性 ·在以视图为基础的基表中插入或更新数据 ·检查错误并基于错误采取行动 找到数据修改前后表状态的差异,并基于此差异采取行动. Deleted表用于存储DELE

SQL触发器中的inserted表和deleted表

简介:开发也有年头了,但是触发器确实用的比较少,但是无容置疑触发器确实不错, 最近项目要求需要用到的触发器特别多.频繁,觉得很有必要记录和积累下. 在触发器语句中用两个特殊的表一个是deleted表和inserted. 它们是通过触发器操作自动创建驻留在内存中的临时表. ------------------------------------------------------------------------------------------------------------------

【赵强老师】利用数据库触发器实现数据的同步

一.什么是触发器 数据库触发器是一个与表相关联的,存储的PL/SQL 语句.每当一个特定的数据操作语句(insert update delete)在指定的表上发出时,Oracle自动执行触发器中定义的语句序列. 触发器的应用场景如下: 复杂的安全性检查 数据的确认 数据库审计 数据的备份和审计 二.创建Oracle触发器的语法 CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPDATE

数据库-- 触发器

触发器是特殊的存储过程,它的执行不由程序调用,也不是手动启动,而是由事件来触发,比如当对一个表进行操作(INSERT.UPDATE.DELETE等,不包括SEARCH)时就会被激活,从而执行.另外一个与存储过程不同的地方在于,存储过程更多的是为了返回数据,而触发器更多的作用是维护数据完整性.所以触发器经常用于加强数据的完整性约束和业务规则等. 触发器有三种常规的类型:DML触发器.DDL触发器和登陆触发器. DDL触发器:当服务器或数据库中发生数据定义语言(DDL)事件时会调用DDL触发器. 登

数据库触发器

触发器的作用 [1] 触发器有如下作用: 可在写入数据表前,强制检验或转换数据. 触发器发生错误时,异动的结果会被撤销. 部份数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器. 可依照特定的情况,替换异动的指令 (INSTEAD OF). 2分类 [2] SQL Server 包括三种常规类型的触发器:DML 触发器.DDL 触发器和登录触发器. DML触发器 当数据库中表中的数据发生变化时,包括insert,update,delete任意操作,如果我们对该表写了对应的D

数据库 触发器基础用法(备份删除行+删除多行)

--触发器:触发器就是一种特殊的存储过程,只用来“增删改” --触发器特殊的地方就在于,触发器是通过对数据库表的操作,来引发 --存储过程是通过人为exec来执行 select *from Student create trigger Student_Insert --创建触发器 on Student --指定触发器所在的表,还可以写成after,for和after都是在操作后执行 for Insert --当执行insert操作的时候自动执行触发器 as update Student set

触发器实现对插入数据的字段更改 Oracle+SQL Server

最近有个使用触发器实现对插入数据的某个列做更改的需求,因此整理了Oracle和SQL Server对于此类需求的触发器写法,本文仅提到了Insert触发器. 首先我们创建一张表: --创建Test表 Create table test(id int primary key,name varchar(20),sex varchar(1),status int) 我们的目的是实现新插入的数据满足sex字段为null时就把status设为1的需求,可根据实际需要更改条件. 因此SQL Server的写

数据库触发器详讲

一:触发器的概念: 数据库触发器是一个与表相关联的,存储的plsql语句. 作用:每当一个特定的数据操作语句,(insert,update,delete)在指定的表发出时,Oracle自动地执行触发器中定义的语句序列 第一个触发器:每当成功插入新员工后   自动打印“插入新员工成功” create trigger 触发器名字(saynewemp) after (执行操作之后) insert on 操作的表(emp) declare begin dbms_output.put_line('成功插入