数据库触发器简单解析

来源:互联网 发布:怎么分析数据 编辑:程序博客网 时间:2024/06/03 10:58

准备知识:
DDL:(Data Definition Language 数据定义语言)用于操作对象和对象的属性,DDL对这些对象和属性的管理和定义具体表现在Create、Drop和Alter上
DML:(Data Manipulation Language 数据操控语言)数据操纵语言,关键字:Insert、delete、update
DCL:(Data Control Language 数据控制语句)的操作是数据库对象的权限,这些操作的确定使数据更加的安全。数据库控制语言 ,关键字:grant、remove
DQL:数据库查询语言,关键字:select;

触发器语法格式:

CREATE [OR REPLACE] TRIGGER  "trigger_name"  //表名


    BEFORE 
| AFTER     //指定触发时机


    INSERT | DELETE | UPDATE [OF column [, column …]   //具体触发的操作


    [OR {INSERT | DELETE | UPDATE [OF column [, column …]]}...]    //


    ON [schema.]table_name | [schema.]view_name     //触发表


    [REFERENCING {OLD [AS] old | NEW [AS] new| PARENT as parent}]    //


    [FOR EACH ROW ]    //表示行级触发器,省略表示语句触发器

   BEGIN
     
--将修改前数据插入到日志记录表 del_emp ,以供监督使用。
       INSERT INTO emp_his(deptno , empno, ename , job ,mgr , sal , comm , hiredate )
       
VALUES( :old.deptno, :old.empno, :old.ename , :old.job,:old.mgr, :old.sal, :old.comm, :old.hiredate );
   END;
[WHEN condition]      //执行条件

实现:  :NEW 修饰符访问操作完成后列的值

          :OLD 修饰符访问操作完成前列的值

特性

INSERT

UPDATE

DELETE

OLD

NULL

实际值

实际值

NEW

实际值

实际值

NULL




PL
/SQL_BLOCK | CALL procedure_name;


0 0
原创粉丝点击