MYSQL基础(触发器)

触发器:MySQL响应insert、delete、update语句时自动执行的一条MySQL语句,创建触发器时需要给出的4条信息:唯一的触发器名、触发器相关的表、触发器应该响应的活动(insert 、delete、update)、触发器何时执行(处理前或处理后)。

1 insert触发器:当对表插入数据时起作用,只能用after

//建立insert触发器
SHOW CREATE TRIGGER tr2;
DROP TRIGGER tr2;
CREATE   TRIGGER  tr2 AFTER INSERT ON EMP FOR EACH ROW
BEGIN
INSERT INTO emp_log VALUES (NOW(),'insert');
END
//执行insert触发器
 INSERT INTO EMP VALUES('0012','张三','销售','00002','2015-09-09',9000,700,'03');

 //用过程触发触发器
  DELIMITER //
CREATE PROCEDURE up2()
  BEGIN
INSERT INTO EMP VALUES('0032','张di','销售','00002','2015-09-09',9000,700,'03');
  END;//

2 delete触发器:当对表删除数据时起作用,只能用after

//建立 delete触发器 
CREATE TRIGGER delete1
  AFTER DELETE ON EMP FOR EACH ROW
  BEGIN
    INSERT INTO EMP_LOG VALUE (NOW(),'DELETE');
  END;
//执行delete触发器
DELETE FROM EMP WHERE EMPNO ='00006';

3 update触发器:当对表修改数据时起作用,同时含有new和old两个虚拟表。结合New可访问更新行的记录;结合old可访问更新前行的记录,可用after,也可用before

// 建立一个update触发器, 如果更新后的comm大于2000,则2000作为comm
CREATE TRIGGER update1
  AFTER UPDATE ON EMP FOR EACH ROW
  BEGIN
    INSERT INTO EMP_LOG VALUE  (NOW(),'UPDATE');
  END;

4 删除触发器:drop trigger trg_name;
5 查看触发器:show triggers;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值