实训4:存储过程和触发器实训4:存储过程和触发器.docVIP

实训4:存储过程和触发器实训4:存储过程和触发器.doc

  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文档。上传文档
查看更多
实训4:存储过程和触发器实训4:存储过程和触发器

实训4:存储过程和触发器 实训目的 1、了解存储过程、触发器的概念。 2、会运用T-SQL语句创建存储过程、触发器。 2、掌握如何调用存储过程。 二、实训工具及设备 实训软件:SQL Server。 实训设备:安装Windows系统计算机一台。 三、实训预备知识 1、存储过程 我们曾经学习过C语言的函数,使用函数时需要两步。第一步:定义函数,它允许包含参数和返回值。第二步:调用函数。函数可以反复的调用,它方便了程序的模块化设计,大大提高了执行效率。 存储过程类似于C语言中的函数,它是存储在SQL SERVER服务器中的一组预编译过的SQL语句,当第一次调用以后,就驻留在内存中,以后调用时不必再进行编译,因此它的运行速度比独立运行同样的程序要快。 在SQL SERVER中存储过程分为两类:系统存储过程和用户自定义存储过程。系统存储过程存储在master数据库中并以sp_为前缀(用户创建存储过程的时候不要以sp_为前缀),在任何数据库中都可以调用系统存储过程。除了使用系统存储过程,用户还可以创建自己的存储过程。当创建存储过程时,需要确定存储过程的三个组成部分: 所有的输入参数及执行后的输出结果(返回值); 被执行的针对数据库操作语句,包括调用其他存储过程的语句; 返回给调用者的状态值,以指明调用是否成功。 使用T-SQL语句创建存储过程的语法格式如下: CREATE PROCEDUER 存储过程名 [@参数1 参数的数据类型][=默认值] [OUTPUT], …… [@参数n 参数的数据类型][=默认值] [OUTPUT] AS SQL语句 其中:使用OUTPUT选项可将@参数的值返回给调用语句。 (1)创建不带参数的存储过程 代码清单4-1:在选课系统(ElectiveSystem)数据库中创建每门选修课的平均分 use ElectiveSystem go create procedure proc_courseAvg as select courseName,avg(grade) as 平均成绩 from course,sc where course.courseNo=sc.courseNo group by course.courseName go 在查询分析器中调用存储过程proc_courseAvg,结果如下图4-1所示。 (2)创建带参数的存储过程 代码清单4-2:创建某个系部每门选修课的平均成绩,其中输入参数为系部名称 use ElectiveSystem go create procedure proc_courseDeptAvg @name nvarchar(32) as select deptName, courseName, avg(grade) as 平均成绩 from deptInfo, studentInfo, course, sc where deptInfo.deptName=@name and deptInfo.deptNo=studentInfo.deptNo and studentInfo.stuNo=sc.stuNo and course.courseNo=sc.courseNo group by deptInfo.deptName,course.courseName go 在查询分析器中调用存储过程proc_courseDeptAvg,结果如下图4-2所示。 图4-1:调用存储过程proc_courseAvg 图4-2:调用存储过程proc_courseDeptAvg (2)创建带返回值的存储过程 如果希望调用存储过程之后,返回一个值或多个值,这时需要使用OUTPUT参数。如查看某门选修课不及格的人数。 代码清单4-3:创建带输出参数的存储过程 use ElectiveSystem go create procedure proc_pass @corName nvarchar(32), @passSum int output as select @passSum=count(stuNo) from course, sc where course.courseNo=sc.courseNo and course.courseName=@corName and sc.grade=60 go 在查询分析器中调用存储过程proc_courseDeptAvg,结果如下图4-3所示。 图4-3:调用存储过程proc_courseDeptAvg 2、触发器 在实际应用中,当表或视图中的某些数据发生变化时,需要自动执行某段程序保证相关联的数据也跟着进行相应的变化,以保持的一致性和完整性。例如,当修改系部信息表中的系部编号01为

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档