0701周二

提示

      纵使触发程序的执行效能并不是问题的重点所在(当它和资料指针一起使用时),您应该尽可能的使用较低阶的方式建置规则。假如您的商业规则可以利用CHECK条件约束建置时,您就不应该使用触发程序;而如果您可以使用UNIQUE条件约束时,您就不应该使用CHECK条件约束。

      INSTEAD OF触发程序会取代其所定义的命令被触发。就像AFTER触发程序一样,您可以在INSERT、UPDATE或DELETE命令中定义INSTEAD OF触发程序。单一的触发程序可以套用多重命令的任意组合。

      与AFTER触发程序不同的是,您可以针对资料表和检视表来建立INSTEAD OF触发程序,但是在资料表或检视表上的每一个动作,您只能建立单一个INSTEAD OF触发程序。

--实例3------------------------ --创建触发器,它记录表的删除数据 --创建表 CREATE TABLE employee (  id   VARCHAR2(4)  NOT NULL,  name VARCHAR2(15) NOT NULL,  age  NUMBER(2)    NOT NULL,  sex  CHAR         NOT NULL ); DESC employee; --插入数据 INSERT INTO employee VALUES('e101','zhao',23,'M'); INSERT INTO employee VALUES('e102','jian',21,'F'); --创建记录表 CREATE TABLE old_employee AS  SELECT * FROM employee; DESC old_employee; --创建触发器 CREATE OR REPLACE TRIGGER tig_old_emp AFTER DELETE ON employee  -- FOR EACH ROW  --语句级触发,即每一行触发一次 BEGIN  INSERT INTO old_employee   VALUES(:old.id,:old.name,:old.age,:old.sex);  --:old代表旧值 END; / --下面进行测试 DELETE employee; SELECT * FROM old_employee;

http://roobo.blog.163.com/blog/static/7735362007103102346444/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值