数据库原理与应用实验9

数据库原理与应用实验9

ID:22287768

大小:135.00 KB

页数:7页

时间:2018-10-28

数据库原理与应用实验9_第1页
数据库原理与应用实验9_第2页
数据库原理与应用实验9_第3页
数据库原理与应用实验9_第4页
数据库原理与应用实验9_第5页
资源描述:

《数据库原理与应用实验9》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验九存储过程与触发器一、实验目的及要求本实验主要目的是让学生通过实验掌握存储过程的创建及使用方式、触发器的创建,具体要求有:•理解存储过程的概念及类型,深刻理解存储过程的优点•掌握创建各种存储过程的方法•掌握调用存储过程的方法•掌握查看、修改、删除存储过程的方法•理解触发器的概念与类型•理解触发器的功能及工作原理•掌握创建、更改、删除触发器的方法•掌握利用触发器维护数据完整性的方法二、实验原理及背景知识(一)存储过程知识存储过程是一种数据库对象,将执行计划存储在数据库的服务器屮。它的运行速度比独立运行同样的

2、程序要快。1、存储过程类型1)系统存储过程存储在master数据库中,以叩_为前缀。可以在其他数据库中对其进行调用。2)用户自定义存储过程由用户创建并能完成某一特定功能的存储过程,或称本地存储过程。2、创建存储过程存储过程的三个组成部分:(1)所有的输入参数以及传给调用者的输山参数。(2)被执行的针对数据库的操作语句,包括凋用其他存储过程的语句。(3)返回给调用者的状态值,以指明调用是成功还是失败。3、T-SQL创建存储过程的基本语法格式:CREATEPROCEDURE]存储过程名称参数定义ASSQL语句(二

3、)触发器知识触发器是一种特殊类型的存储过程,主要通过事件进行触发执行的。可以实现由主键和外键所不能保证的参照完整性和数据的一致性;强化约束;跟踪变化;级联运行;存储过程的调用等功能。1、触发器的种类1)AHER触发器:只有对表执行某一操作这后,才能被触发。可以为表的同一操作定义多个触发器,其触发次序可使用sp_settriggerorder来完成。2)INSTEADOF触发器:并不执行其所定义的操作而仅是执行触发器本身,对同一操作只能定义一个insteadof触发器。2、INSERTED和DELETED临时表

4、插入一行时,INSERTED表保存了一份插入行的拷贝。删除一行吋,DELETED表保存了删除行的拷W。更新一行时,INSERTED表中保存了一份新行的拷贝,DELETED表中保存了一份旧行的拷贝。3、语法格式:CREATETRIGGER触发器名称ON表或视图{FOR

5、AFTER

6、INSTEADOF}{[DELETE],[INSERT],[UPDATE]}ASSQL语句三、实验内容及步骤:I:基本实验内容在SQLServer2000屮创建存储过程和触发器虽然可以通过企业管理器进行,但是企业管理器仅仅是提供了一个

7、利用T-SQL编写存储过程和触发器的简单模板,大部分内容都是需要自己手工编写的。而且在SQLServer2005巾只能通过T-SQL来编写存储过程和触发器。因此,本实验只要求通过T-SQL來创建并管理存储过程和触发器,可视化方式请参考相关资料。(一)存储过程的创建和执行1、创建下妞的存储过程并执行,然后分析其功能1)创建CREATEPROCEDURElist_stu一courseAS一一SELECTs.sno,s•snamezs.ssex,,c.eno,c.cname,sc.mark,k.kcreditFRO

8、Mstudents,coursec,kaikek,student_coursescWHEREs.sno=sc.snoANDsc.cno=k:.cnoANDk.cno=c.cnoGO2)执行EXEClist_stu_course或者list_stu_course3)功能分析2、带参数存储过程并执行1)创建ICREATEPROClist_student_department(©departmentchar(20))IAS

9、BEGINSELECTsnorsnamerssex,snative,mname,dnameF

10、ROMstudent,major,departmentWHEREstudent.mno=major.mnoANDmajor.dno=department.dnoANDdname=@department

11、END执行EXEClist_student_department@department:=/工程与信息学院'3)功能分析3、根裾功能要求完成下而的任务在stuManag数据库中创建一个名为Pmc_l的存储过程,产生某门课程的选课学生情况列表,其中包括课程号、课程名、学号、姓名、成绩。要求输入某门课程的课程号,得

12、到上述信息。1)创建:CREATEPROCEDUREproc_lASSELECTc.eno,c•cname,s.sno,s.snamefsc.markFROMstudents,coursec,student_coursescWHEREs.sno=sc.snoANDsc.cno=c.cnoANDc.cno=@cnoGO2)执行:EXECproc_l'050504'4、根据功能要求,完成下面任务在stu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。