数据库原理和应用实验12(二版).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理和应用实验12(二版)

实验十二 存储过程与触发器 一、实验目的及要求 本实验主要目的是让学生通过实验掌握存储过程的创建及使用方式、触发器的创建,具体要求有: 理解存储过程的概念及类型,深刻理解存储过程的优点 掌握创建各种存储过程的方法 掌握调用存储过程的方法 掌握查看、修改、删除存储过程的方法 理解触发器的概念与类型 理解触发器的功能及工作原理 掌握创建、更改、删除触发器的方法 掌握利用触发器维护数据完整性的方法 二、实验原理及背景知识 (一)存储过程知识 存储过程是一种数据库对象,将执行计划存储在数据库的服务器中。它的运行速度比独立运行同样的程序要快。 1、存储过程类型 1)系统存储过程 存储在master数据库中,以sp_为前缀。可以在其他数据库中对其进行调用。 2)用户自定义存储过程 由用户创建并能完成某一特定功能的存储过程,或称本地存储过程。 2、创建存储过程 存储过程的三个组成部分: (1)所有的输入参数以及传给调用者的输出参数。 (2)被执行的针对数据库的操作语句,包括调用其他存储过程的语句。 (3)返回给调用者的状态值,以指明调用是成功还是失败。 3、T-SQL创建存储过程的基本语法格式: CREATE PROC[EDURE] 存储过程名称 参数定义 AS SQL语句 (二)触发器知识 触发器是一种特殊类型的存储过程,主要通过事件进行触发执行的。可以实现由主键和外键所不能保证的参照完整性和数据的一致性;强化约束;跟踪变化;级联运行;存储过程的调用等功能。 1、触发器的种类 1)AFTER触发器:只有对表执行某一操作这后,才能被触发。可以为表的同一操作定义多个触发器,其触发次序可使用sp_settriggerorder来完成。 2)INSTEAD OF触发器:并不执行其所定义的操作而仅是执行触发器本身,对同一操作只能定义一个instead of 触发器。 2、INSERTED和DELETED临时表 插入一行时,INSERTED表保存了一份插入行的拷贝。 删除一行时,DELETED表保存了删除行的拷贝。 更新一行时,INSERTED表中保存了一份新行的拷贝,DELETED表中保存了一份旧行的拷贝。 3、语法格式: CREATE TRIGGER 触发器名称 ON 表或视图 { FOR | AFTER | INSTEAD OF } {[DELETE],[INSERT],[UPDATE]} AS SQL语句 三、实验内容及步骤: Ⅰ:基本实验内容 在SQL Server 2000中创建存储过程和触发器虽然可以通过企业管理器进行,但是企业管理器仅仅是提供了一个利用T-SQL编写存储过程和触发器的简单模板,大部分内容都是需要自己手工编写的。而且在SQL Server 2005中只能通过T-SQL来编写存储过程和触发器。因此,本实验只要求通过T-SQL来创建并管理存储过程和触发器,可视化方式请参考相关资料。 (一)存储过程的创建和执行 1、创建下面的存储过程并执行,然后分析其功能 1)创建 CREATE PROCEDURE list_stu_course AS SELECT s.sno, s.sname, s.ssex, c.cno, c.cname, skc.grade , k.kcredit FROM student s,course c, kaike k,skc WHERE s.sno=skc.sno AND skc.kno=k.kno AND k.cno=c.cno GO 2)执行 EXEC list_stu_course 或者 list_stu_course 3)功能分析 __________________________________________________________ 2、带参数存储过程并执行 1)创建 CREATE PROC list_student_department (@department char(20)) AS BEGIN SELECT sno,sname,ssex,snative,mname,dname FROM student,major,department WHERE student.mno=major.mno AND major.dno=department.dno AND dname=@department END 2)执行 EXEC list_student_department @department=‘计算机’ 3)功能分析 __________________________________________________________ 3、根据功能要求完成下面的任务 在stuManag数据库中创建一个名为proc_1的存储过程,产生某门课程的选课学

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档