创建与使用触发器

创建与使用触发器

1 创建只有一个执行语句的触发器

CREATE TRIGGER 触发器名 BEFORE |AFTER 触发事件
ON 表名 FOR EACH ROW 执行语句

eg:t_book表中每次增加一个记录,t_booktype表对应id的数目加1

CREATE TRIGGER trig_book

 AFTER INSERT

  ON t_book FOR EACH ROW 

UPDATE t_booktype 
SET bookNum=bookNum+1

   WHERE new.bookTypeId=t_booktype.id;

测试触发器:INSERT INTO t_book VALUES(NULL,'javajava',100,'me',1)

2 创建有多个执行语句的触发器

CREATE TRIGGER 触发器名 BEFORE |AFTER 触发事件
ON 表名 FOR EACH ROW
BEGIN
执行语句列表
END

eg:DELIMITER 使用是因为有多个执行语句,默认读到'" ; "就去执行了

DELIMITER |
CREATE TRIGGER trig_book2
AFTER DELETE ON t_book FOR EACH ROW
BEGIN
UPDATE t_bookType SET bookNum=bookNum-1 WHERE old.bookTypeId=t_booktype.id;
INSERT INTO t_log VALUES(NULL,NOW(),'在t_book表删除了一条数据');
DELETE FROM t_test WHERE old.bookTypeId=t_test.id;
END

DELIMITER ;

测试:

DELETE FROM t_book WHERE id=1;




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值