欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    触发器综合实例精选PPT.ppt

    • 资源ID:42769041       资源大小:751.50KB        全文页数:15页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    触发器综合实例精选PPT.ppt

    触发器综合实例第1页,此课件共15页哦触发器(触发器(trigger)是一种特殊的存储过程,它)是一种特殊的存储过程,它不同于一般的存储过程:不同于一般的存储过程:一般的存储过程通过存储过程名称被直接调一般的存储过程通过存储过程名称被直接调用用触发器主要是通过事件进行触发而被执行。触发器主要是通过事件进行触发而被执行。第2页,此课件共15页哦触发器的主要作用是实现由主键和外键等约束所不能保证的复杂的参照完整性和数据一致性。除此之外,触发器还有以下作用:1.触发器可以对数据库进行级联修改。2.实现比CHECK约束更为复杂的限制。3.比较数据修改前后的差别。4.强制表的修改要合乎业务规则。第3页,此课件共15页哦按照触发响应时间按的不同按照触发响应时间按的不同可以将触发器分为两大类:后触发器可以将触发器分为两大类:后触发器和前触发器。和前触发器。(1)后触发器()后触发器(After Trigger):):这种类型的触发器将在数据变动(这种类型的触发器将在数据变动(UPDATE、INSERT和和DELETE操作)完成后才被触发。操作)完成后才被触发。指定指定 AFTER 与指定与指定 FOR 相同。相同。AFTER触发器只能在表上定义。触发器只能在表上定义。在同一个数据表中可以创建多个在同一个数据表中可以创建多个AFTER触发器。触发器。默认的为默认的为AFTER触发器。触发器。第4页,此课件共15页哦按照触发响应时间按的不同按照触发响应时间按的不同可以将触发器分为两大类:后触发可以将触发器分为两大类:后触发器和前触发器。器和前触发器。(2)前触发器()前触发器(Inserted Of Trigger):):INSTEAD OF触触发发器器在在数数据据变变动动以以前前被被触触发发,并并取取代代变变动动数数据据的的操操作作(UPDATE、INSERT和和DELETE操操作作),而而去去执执行行触触发器定义的操作。发器定义的操作。INSTEAD OF触发器可以在表或视图上定义。触发器可以在表或视图上定义。在在表表或或视视图图上上,每每个个UPDATE、INSERT和和DELETE语语句句最最多多可以定义一个可以定义一个INSTEAD OF触发器。触发器。第5页,此课件共15页哦语法格式:语法格式:CREATE TRIGGER schema_name.trigger_name ON table|view /*指定操作对象指定操作对象*/WITH ENCRYPTION/*说明是否采用加密方式说明是否采用加密方式*/FOR|AFTER|INSTEAD OF INSERT ,UPDATE ,DELETE WITH APPEND NOT FOR REPLICATION /*说明该触发器不用于复制说明该触发器不用于复制*/AS sql_statement ;.n|EXTERNAL NAME asse MBly_name.class_name.method_name 第6页,此课件共15页哦触发器中使用的特殊表触发器中使用的特殊表当触发器引用视图或者临时表,并产生两个特当触发器引用视图或者临时表,并产生两个特殊的表:殊的表:deleted表和表和inserted表。表。执行执行INSERT语句或语句或UPDATE语句向表中插入数据行时,插入到语句向表中插入数据行时,插入到触发器表中的行作为复本同时将被插入到触发器表中的行作为复本同时将被插入到inserted表中;表中;执行执行DELETE语句删除表中数据时,触发表中被删除的行作为语句删除表中数据时,触发表中被删除的行作为复本被插入到复本被插入到deleted表中;表中;执行执行UPDATE语句修改数据时,先删除触发表中的旧行,并将语句修改数据时,先删除触发表中的旧行,并将该旧行插入该旧行插入deleted表中,再插入新行,同时将新行插入到表中,再插入新行,同时将新行插入到inserted表中。表中。第7页,此课件共15页哦触发器的主要作用是实现由主键和外键等约束所不能保证的复杂的参照完整性和数据一致性。除此之外,触发器还有以下作用:1.触发器可以对数据库进行级联修改。2.实现比CHECK约束更为复杂的限制。3.比较数据修改前后的差别。4.强制表的修改要合乎业务规则。第8页,此课件共15页哦使用触发器实现复杂的参照完整性和数据一致性。例1:若修改SC中一个记录的学号,则要检查S中是否存在与该学号相同的记录,若有则不允许修改,若没有则可以修改.第9页,此课件共15页哦CREATE TRIGGER TRIGGER_SC ON dbo.sc FOR UPDATEASIF UPDATE(SNO)BEGINDECLARE SNO_NEW CHAR(2),SNO_OLD CHAR(2),SNO_CNT INTSELECT SNO_OLD=SNO FROM DELETEDSELECT SNO_CNT=COUNT(*)FROM S WHERE SNO=SNO_OLDIF SNO_CNT0 ROLLBACK TRANSACTIONEND第10页,此课件共15页哦使用触发器对数据库进行级联修改。例2.若修改表S中一学生的学号,则表SC中与该学生相关的学号被自动修改.CREATE TRIGGER TRIGGER_S ON dbo.s FOR UPDATEAS IF UPDATE(SNO)BEGINDECLARE SNO_NEW CHAR(2),SNO_OLD CHAR(2)SELECT SNO_NEW=SNO FROM INSERTEDSELECT SNO_OLD=SNO FROM DELETEDUPDATE SC SET SNO=SNO_NEW WHERE SNO=SNO_OLDEND第11页,此课件共15页哦使用触发器对数据库进行级联修改。例3:为C表创建一个级联删除触发器:通过课程名从C中删除某课程信息,同时删除表SC中与此课程相关的选课记录.CREATE TRIGGER TRIGGER_C ON dbo.c FOR DELETEASDECLARE CNO CHAR(2)SELECT CNO=CNO FROM DELETEDDELETE FROM SCWHERE CNO=CNO第12页,此课件共15页哦使用触发器实现比CHECK约束更为复杂的限制例4:为SC表创建一触发器,当插入一个记录或修改成绩时,确保此记录的成绩为0100分.第13页,此课件共15页哦CREATE TRIGGER TRIGGER_SC1 ON dbo.sc FOR INSERT,UPDATEASDECLARE SCORE TINYINTSELECT SCORE=SCORE FROM INSERTEDIF SCORE0 AND SCORE=100 BEGIN PRINT 操作完成 return endprint 成绩超出0-100rollback transactiongo第14页,此课件共15页哦Insert into sc values(2,4,80)Go结果:操作完成(1 行受影响)Insert into sc values(2,5,101)Go成绩超出-100消息3609,级别16,状态1,第1 行事务在触发器中结束。批处理已中止。第15页,此课件共15页哦

    注意事项

    本文(触发器综合实例精选PPT.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开