SQL触发器实例_第1页
SQL触发器实例_第2页
SQL触发器实例_第3页
SQL触发器实例_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、- -建立触发器,显示修改人数createtriggerdionjunforinsert,updateasselect 你正在修改数据,declareavarchar(20)selecta=str(rowcount)+个学生被修改selectaselect*fromjunreturninsertintojun(爱好)values(跑步)updatejunset 爱好=打球where 学号6)select 不能插入,男生人数已满。elseselect插入成功select*fromzginsertintozg(学号,姓名,性另 1)values(20100636,江渝,男)- -建立触发器,如果语

2、文成绩在 200 以内可以修改,否则不能修改createtriggeru1onzgforupdateasif(selectmax(语文)fromzg)200)beginselect 你不能修改rollbackendelseselect 修改成功select*fromzgupdatezgset 语文=语文+10where 姓名=唐荣强updatezgset 语文=语文-20where 姓名=张军updatezgset 语文=语文+30where 姓名=张军- -建立触发器,显示删除和修改的内容createtriggerd2onzgforinsert,update,deleteasselect*f

3、romdeletedselect*frominsertedselect*fromzgdeletefromzgwhere 班级=Nulldeletefromzgwhere 姓名=张军- -建立触发器,如果 zg 表中没有此人的姓名,则不能在 kc 表中进行修改createtriggeri2onkcforinsert,updateasif(notexists(select 姓名 fromzgwhere 姓名=(select 姓名 frominserted)beginselect 不能修改数据rollbackselect*fromkcendelsebeginselect 修改成功select*fro

4、mkcendupdatekcset 选修人数=选修人数+100where 姓名=张军- -建立触发器,更行 zg 时也更新 kccreatetriggeru2onzgforupdateasselect*fromdeletedselect*frominsertedupdatekcset 姓名=(selectmin(姓名)frominserted)where 姓名=(selectmin(姓名)fromdeleted)select*fromzgselect*fromkcupdatezgset 姓名=张晓军where 姓名=张军- -建立触发器,如果加入的数2000 就不能插入并将默认值为 500cr

5、eatetriggeri3onzgforinsertasif(select 语文 frominserted)2000)beginselect 语文2000 不合适updatezgset 语文=500select*fromzgrollbackendelseselect 修改成功insertintozg(班级,姓名,学号,语文)values。小数,王五,20100637,2500)- -建立触发器,不能删除总成绩最高的人createtriggerd3onzgfordeleteasif(select 总、成绩 fromdeleted)=(selectmax(总、成绩)fromzg)beginsele

6、ct 删除的数为:select*fromdeletedselect 不能删除成绩最高的一位rollbackendelseselect 删除成功select*fromzgdeletefromzgwhere 姓名=唐荣强- -建立触发器,英语增长不超过 250%createtriggeru3onzgforupdateasif(selectmax(英语)frominserted)/(selectmin(英语)fromdeleted)2.5beginselect*fromdeletedselect*frominsertedselect 增长速度250%不能彳改,rollbackendelseselec

7、t 修改成功,select*fromzgupdatezgset 英语=英语*3where 姓名=杨杰-通过触发器调用其他函数createprocp1asselect*fromzgcreatetriggeru4onzgforinsert,delete,updateasexecp1insertintozg(姓名,学号班级)values。小王,20100638,小语)- -多个触发器运行顺序createtriggeri5onzgforinsert,updateasselect 你在插入数据createtriggeru5onzgforupdate,insertasselect 你在修改数据update

8、zgset 姓名=张军where 姓名=张晓军- -触发器createtriggerj1onkcforupdate,delete,insertasselect(你正在修改数据);select*fromdeleteddeletefromkcwhere 课程名称=计算机导论,insertintokc(学号,课程名称,课程彳弋码,学分)values(1010,计算机导论,D032r,2)updatekcset学号=1007where 学号=1006createtriggerj2onkcfordeleteasdeclarecountvarchar(20)selectcount=str(rowcount)+个学生被删除selectcountreturndeletefromkcwhere 学分=1.5createtriggerj3onjunforinsert,updateasif(selectsum(年龄)fromjun)400beginselect 你们年龄大入要求:不予录取rollbackendelsebeginselect 恭喜你,你被录取了,endinsertintojun(学号,爱好,年龄)values(111,编程,20)updatezgset 总成绩=语文+数学+英语select*fromzgcreatetriggery2onzgforinsert,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论