码迷,mamicode.com
首页 > 数据库 > 详细

mysql_15_触发器

时间:2017-08-09 23:44:42      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:arc   ima   show   use   系统数据库   creat   表名   text   --   

 1 USE db_book;
 2 SELECT * FROM t_book;
 3 SELECT * FROM t_booktype;
 4 -- 第九章:触发器
 5 -- 第一节:触发器的引入
 6 --     触发器(TRIGGER)是由事件来触发某个操作。这些操作包括INSERT语句,UPDATE语句
 7 --     和DELETE语句。当数据库系统执行这些事件时,就会激活触发器执行响应的操作。
 8 
 9 
10 -- 第二节:创建与使用触发器
11 -- 2.1创建只有一个执行语句的触发器
12 --     CREATE TRIGGER 触发器名称 BEFORE|AFTER 触发事件 
13 --             ON 表名 FOR EACH ROW 执行语句
14 CREATE TRIGGER trig_book AFTER INSERT
15         ON t_book FOR EACH ROW 
16                 UPDATE t_booktype SET bookNum=bookNum+1 WHERE new.bookTypeId=t_booktype.id; -- new:过度变量
17 
18 INSERT INTO t_book VALUES(NULL,"算法导论",84,"作者1",1);
19 
20 -- 2.2创建有多个执行语句的触发器
21 --     CREATE TRIGGER 触发器名称 BEFORE|AFTER 触发事件 
22 --             ON 表名 FOR EACH ROW 
23 --             BEGIN 
24 --             执行语句列表
25 --             END
26 CREATE TABLE t_log(
27 id int PRIMARY KEY NOT NULL auto_increment,
28 actionTime datetime,
29 actionContext VARCHAR(100)
30 )
31 
32 CREATE TABLE t_test(
33 id int PRIMARY KEY NOT NULL auto_increment,
34 test VARCHAR(10)
35 )
36 
37 INSERT INTO t_test VALUES (null,"aaa");
38 
39 SELECT * FROM t_log;
40 SELECT * FROM t_test;
41 
42 CREATE TRIGGER trig_book2 AFTER DELETE
43         ON t_book FOR EACH ROW
44         BEGIN
45                 UPDATE t_bookType SET bookNum=bookNum-1 WHERE old.bookTypeId=t_bookType.id;
46                 INSERT INTO t_log VALUES (NULL,NOW(),"在t_book表中删除了一条数据");
47                 DELETE FROM t_test WHERE old.bookTypeId=t_test.id;
48         END
49 
50 DELETE FROM t_book WHERE bookName="算法导论";
51 
52 SELECT * FROM t_book;
53 SELECT * FROM t_booktype;
54 SELECT * FROM t_log;
55 SELECT * FROM t_test;
56 
57 
58 -- 第三节:查看触发器
59 --     3.1 SHOW TRIGGERS 语句查看触发器信息(所有触发器)
60 SHOW TRIGGERS;
61 
62 --     3.2 在tiggers表中查看触发器信息
63 -- 在系统数据库information_schema中的tiggers表中查看
64 
65 -- 第四节:删除触发器
66 -- DROP TRIGGER 触发器名称;
67 DROP TRIGGER trig_book;
68 SHOW TRIGGERS;
69 
70 DROP TRIGGER trig_book2;
71 SHOW TRIGGERS;

 

mysql_15_触发器

标签:arc   ima   show   use   系统数据库   creat   表名   text   --   

原文地址:http://www.cnblogs.com/xinwenpiaoxue/p/7327891.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!