- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13周第1次课—第25章使
第25章使用触发器 本次课的主要内容 使用触发器 什么是触发器 创建触发器 删除触发器 使用触发器 什么是触发器 触发器的特点 触发器是一个被指定关联到一个表的数据对象,触发器是不需要调用的,当对一个表的特别事件出现时,它会被激活 触发器代码是由声明式的SQL语句和过程式的语句组成的 MySQL中支持触发器的语句 DELETE INSERT UPDATE 创建触发器 创建触发器时,需要给出4条信息 唯一的触发器名 触发器关联的表 触发器应该响应的活动(DELETE、INSERT、UPDATE) 触发器何时执行(处理之前或之后) 关键字 CREATE TRIGGER 一般的语法格式 CREATE TRIGGER trigger_name trigger_time trigger_event ON tb1_name FOR EACH ROW trigger_stmt 注意 trigger_name:触发器的名称,触发器在当前数据库中必须具有唯一的名称,如果要在某个特定数据库中创建,名称前面应该加上数据库的名称 trigger_time:触发器触发的时刻,有两个选项:AFTER、BEFORE trigger_event:触发事件,指明了激活触发程序的语句的类型:INSERT、UPDATE、DELETE tb1_name:与触发器相关的表名,在该表上发生触发事件才会激活触发器。同一个表不能拥有两个具有相同触发时刻和事件的触发器 FOR EACH ROW:这个声明用来指定,对于受触发事件影响的每一行,都要激活触发器的动作 trigger_stmt:触发器动作,包含触发器激活时将要执行的语句。如果要执行多个语句,可使用BEGIN…END复合语句结构,可以使用存储过程中允许的相同语句 注意 触发器不能返回任何结果到客户端,为了阻止从触发器返回结果,不要在触发器定义中包含SELECT语句,同样,也不能调用将数据返回客户端的存储过程 创建触发器实例 CREATE TRIGGER tr_1 AFTER INSERT ON customers FOR EACH ROW SET @str=“TR”; 删除触发器 关键字 DROP TRIGGER 一般的语法格式 DROP TRIGGER tr_1; 注意: 触发器不能更新或覆盖。为了修改一个触发器,必须先删除它,然后再重新创建 使用触发器 INSERT触发器 在INSERT触发器代码内,可引用一个名为NEW的虚拟表,访问被插入的行 在BEFORE INSERT触发器中,NEW中的值也可以被更新(允许更改被插入的值) 对于AUTO_INCREMENT列,NEW在INSERT执行之前包含0,在INSERT执行之后包含新的自动生成值 测试插入前和插入后NEW表中的值 DELIMITER // CREATE TRIGGER tr_1 AFTER INSERT ON customers FOR EACH ROW BEGIN SET @tr1 = NEW.cust_id,@tr2= NEW.cust_name; END // CREATE TRIGGER tr_2 BEFORE INSERT ON customers FOR EACH ROW BEGIN SET @tr3 = NEW.cust_id,@tr4= NEW.cust_name; END // DELIMITER ; DELETE触发器 在DELETE触发器代码内,你可以引用一个名为OLD的虚拟表,访问被删除的行 OLD中的值全都时只读的,不能更新 例子: 测试删除前和删除后OLD表中的值 UPDATE触发器 在UPDATE触发器代码中,你可以引用一个名为OLD的虚拟表访问以前( UPDATE 语句前)的值,引用一个名为NEW的虚拟表访问新更新的值 在BEFORE UPDATE触发器中,NEW中的值可能也被更新(允许更改将要用于UPDATE 语句中的值) OLD中的值全都是只读的,不能更新 例子: 测试更新前OLD和更新后NEW表中的值 IT Education Training Date: *
您可能关注的文档
- 科学发展观个人规划.doc
- 离体小肠平滑肌生理特性观察.doc
- 科学技术教育走进生活重要意义.doc
- 科学探究教学设计.doc
- 科学探究教学设计的两个问题.doc
- 科学规划 规范操作.doc
- 科学社会主义理论与实践作业0.doc
- 科学第一次月考测 试 卷.doc
- 科技与创新判断题.doc
- 科技与创新课件整理.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)