




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
触发器练习题1、创建触发器在学生信息管理系统中,学生信息表包含列“学号”、“姓名”、“性别”、“出生年月”、“班级号”;班级信息表中包含列“班级号”、“班级名称”、“人数”;课程信息表包含列“课程代号”、“课程名称”;学生成绩表包含列“学号”、列“课程代号”、列“成绩”,已用约束保证成绩的范围为0100分。(用附录中的脚本创建)-1)在student上创建INSERT触发器stu_insert,要求在student表中插入记录时(要求每次只能插入一条记录),这个触发器都将更新class表中的class_nun列。并测试触发器stu_insert。create trigger stu_inserton student for insertasif rowcount1begin RAISERROR(You cannot insert more than one student at a time., 16, 1) ROLLBACK TRAN return-注意此处的return语句不能省略,因为在触发器脚本中的ROLLBACK TRAN语句之后还存在语句,那么将会执行这些语句,而为了其后的语句不执行,必须加入return语句endupdate classset class_num=class_num+1where class_id=(select class_id from inserted)print class表中数据更新成功go-测试1insert into student select 0601012,丽,女,1986-07-11, 0601 union allselect 0601013,梅,女,1988-02-07, 0601-测试2insert into student values(0602011,文,女,1986-09-21, 0602)-2)修改题1中创建的INSERT触发器stu_insert,要求在student表中插入记录时(允许插入多条记录),这个触发器都将更新class表中的class_nun列。并测试触发器stu_insert。alter trigger stu_inserton student for insertasupdate classset class_num=class_num+(select count(class_id) from inserted where class.class_id=inserted.class_id )print class表中数据更新成功go-测试1insert into student select 0601012,丽,女,1986-07-11, 0601 union allselect 0601013,梅,女,1988-02-07, 0601-测试2insert into student values(0602011,文,女,1986-09-21, 0602)-3)在student上创建DELETE触发器stu_delete,要求在student表中删除记录时,这个触发器都将更新class表中的class_nun列。并测试触发器stu_delete。create trigger stu_deleteon student for deleteasupdate classset class_num=class_num-(select count(class_id) from deleted where class.class_id=deleted.class_id )go-测试1delete from student where stu_id=0601001 -测试2delete from student-4)为防止其他人修改成绩,在score上创建UPDATE触发器sc_update,要求不能更新score表中的score列。测试触发器sc_update。create trigger sc_updateon score for updateasif update(score)beginprint 不允许修改score列rollback tranendgo-尝试修改score列update scoreset score=992、查看触发器相关信息:使用系统存储过程sp_help,sp_helptext,sp_helptrigger查看触发器相关信息。exec sp_helpexec sp_help sc_updateexec sp_helptext sc_updateexec sp_helptrigger student exec sp_helptrigger student ,insert-附录:-创建数据库,准备数据create database student_scoreGO-在数据库中创建三个表的结构use student_scoreGOcreate table student( stu_id char(8) primary key, stu_name char(10), stu_sex char(2), stu_birthday smalldatetime, class_id char(6)gocreate table class( class_id char(6) primary key, class_name varchar(30),class_num int,)create table course( course_id char(3) primary key, course_name varchar(30),)go create table score( stu_id char(8), course_id char(3), score int check(score=0 and score=100) primary key(stu_id,course_id)go-往表中插入数据(student,course,score) insert into student values(0601001,李玉,女,1987-05-06, 0601) insert into student values(0601002,鲁敏,女,1988-06-28, 0601) insert into student values(0601003,李小路,女,1987-01-08, 0601) insert into student values(0601004,鲁斌,男,1988-04-21, 0601) insert into student values(0601005,王宁静,女,1986-05-29, 0601) insert into student values(0601006,张明明,男,1987-02-24, 0601) insert into student values(0601007,刘晓玲,女,1988-12-21, 0601) insert into student values(0601008,周晓,男,1986-04-27, 0601) insert into student values(0601009,易国梁,男,1985-11-26, 0601) insert into student values(0601010,季风,男,1986-09-21, 0601) insert into class values(0501,计算机办公应用, 40)insert into class values(0502,网络构建, 43)insert into class values(0503,图形图像, 48)insert into class values(0601,可视化, 41)insert into class values(0602,数据库, 38)insert into class values(0603,网络管理, 45)insert into class values(0604,多媒体, 40)insert into class values(0701,计算机办公应用, 39)insert into class values(0702,WEB应用, 38)insert into class values(0703,网络构建, 40)insert into course values(001,计算机应用基础)insert into course values(002,关系数据基础)insert into course values(003,程序设计基础)insert into course values(004,数据结构)insert into course values(005,网页设计)insert into course values(006,网站设计)insert into course values(007,SQL Server 2000关系数据库)insert into course values(008,SQL Server 2000程序设计)insert into course values(009,计算机网络)insert into course values(010,Windows Server 配置)insert into score values(0601001,001,78)insert into score values(0601002,001,88)insert into score values(0601003,001,65)insert into score values(0601004,001,76)insert into score values(0601005,001,56)insert into score values(0601006,001,87)insert into score values(0601007,001,67)insert into score values(0601008,001,95)insert into score values(0601009,001,98)insert into score values(0601010,001,45)insert into score values(0601001,002,48)insert into score values(0601002,002,68)insert into score values(0601003,002,95)insert into score values(0601004,002,86)insert into score values(0601005,002,76)insert into score values(0601006,002,57)insert into score values(0601007,002,77)insert into score values(0601008,002,85)insert into score values(0601009,002,98)insert into score values(0601010,002,75)insert into score values(0601001,003,88)insert into score values(0601002,003,78)insert into score values(0601003,003,65)insert into score values(0601004,003,56)insert into score values(0601005,003,96)insert into score values(0601006,003,87)insert into score values(0601007,003,77)insert into score values(0601008,003,65)insert into score values(0601009,003,98)insert into score values(0601010,003,75)insert into score values(0601001,004,74)insert into score values(0601002,004,68)insert into score values(0601003,004,95)insert into score values(0601004,004,86)insert into score values(0601005,004,76)insert into score values(0601006,004,67)insert into score values(0601007,004,77)insert into score values(0601008,004,85)insert into score values(0601009,004,98)insert into score values(0601010,004,75)insert into score values(0601001,005,74)insert into score values(0601002,005,68)insert into score values(0601005,005,76)insert into score values(0601008,005,85)insert into score values(0601009,005,98)insert i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 20077-2025一次性托盘
- GB/T 9967-2025金属钕
- 森林防火业务知识培训课件
- 森林火灾防范知识培训课件
- 森林消防水电知识培训课件
- 棋类培训课件
- 桥梁防撞理论知识培训课件
- 2025年陵园工作招聘笔试模拟试题及答案
- 2025年健康管理师(高级)实操技能考核试题及答案
- 2025年电子商务战略规划师中级求职面试全攻略及预测题库
- 近视推拿培训课件
- 2025年国企运维岗笔试题目及答案
- 2025年职业卫生培训试题及答案
- 2025年江苏省建筑施工企业主要负责人安全员A证考核题库含答案
- 2025年洛阳理工学院招聘硕士研究生学历专任教师考试笔试试题(含答案)
- 中华人民共和国治安管理处罚法2025修订版测试题及答案
- 广西柳州市2024-2025学年七年级下学期期末历史试题 (含答案)
- 无人机应用技术专业认识
- 备考2025年湖北省宜昌市辅警协警笔试笔试预测试题(含答案)
- 新学期教学工作会议上校长讲话:把功夫下在课堂里把心思放在学生上把质量落到细节中
- 初中语文教师培训
评论
0/150
提交评论