欢迎来到天天文库
浏览记录
ID:57644044
大小:585.50 KB
页数:7页
时间:2020-08-30
《数据库实验报告-存储过程和触发器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、西北师范大学计算机科学与工程学院学生实验报告学号专业计算机科学与技术姓名课程名称数据库应用与开发班级实验名称存储过程和触发器课程类型专业限选类实验目的:存储过程是一组完成特定功能的Transact-SQL语句的集合,存储过程通过用户、其他过程和触发器来调用执行。本次试验主要练习其创建及管理。实验内容:1、创建一个名称为StuInfo的存储过程,要求完成以下功能:在student表中查询08级学生的学号、姓名、性别、出生日期和电话5个字段的内容。SQL代码:createprocedureStuInfoasselectstudentno,s
2、name,sex,birthday,phonefromstudentwherestudentnolike'08%'实验结果:72、创建一个存储过程ScoreInfo,完成的功能是在表student、表course和表score中查询以下字段:学号、姓名、性别、课程名称、期末分数。SQL代码:createprocedureScoreInfoasselectstudent.studentno,sname,sex,cname,finalfromstudent,course,scorewherestudent.studentno=score.s
3、tudentnoandscore.courseno=course.coursenogoexecScoreInfogo实验结果:73、创建一个带有参数的存储过程Stu-Age,该存储过程根据输入的学号,在student表中计算此学生色年龄,并根据程序的执行结果返回不同的值,如果程序执行成功,则返回整数0,如果执行出错,则返回错误号。SQL代码:createprocedureStu_Age@student_nonchar(10),@ageintoutputasdeclare@errorvalueintset@errorvalue=0sele
4、ct@age=datediff(year,birthday,getdate())fromstudentwherestudentno=@student_noif(@@error<>0)set@errorvalue=@@errorreturn@errorvaluegoDECLARE@AGEINTexecStu_Age@student_no='0824113307',@age=@AGEOUTPUTselect@AGE7go实验结果:4、创建一个insert触发器TR_Stu_Insert,当在student表中插入一个新纪录时,触发该触发器,
5、并给出“你插入了一条新纪录!”的提示信息。SQL代码:createtriggerTR_Stu_InsertonstudentafterINSERTasprint'你插入了一条新记录!!'实验结果:75、创建一个AFTER触发器,要求实现以下功能:在score表上创建一个插入、更新类型的触发器TR_ScoreCheck,当在score字段中插入或修改考试分数后,触发该触发器,检查分数是否在0~100之间。SQL代码:createtriggerTR_ScoreCheckonscoreafterinsert,updateasifupdate(
6、final)begindeclare@insertvaluerealselect@insertvalue=(selectfinalfrominserted)if@insertvalue>100or@insertvalue<0print'分数应该在-100之间'end实验结果:76、创建一个INSTEADOF触发器,要求实现以下功能:在score表上创建一个删除类型的触发器TR_NotAllowDelete,当在score表删除记录时,触发该触发器,显示不允许删除表中数据的提示信息。SQL代码:createtriggerTR_NotAll
7、owDeleteoncourseinsteadofdeleteasprint'不允许删除表中的数据'实验结果:7实验总结:通过本次试验的完成,掌握了存储过程和触发器的基本概念,及其创建和管理等基本操作。7
此文档下载收益归作者所有