【企业管理】存储过程与触发器.pptVIP

  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文档。上传文档
查看更多
第九章 存储过程与触发器 在使用Transact-SQL语言编程的过程中,我们可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程,将其保存在数据库中,并由SQL Server服务器通过过程名来调用它们,这些过程就叫做存储过程(也称为子程序)。 存储过程在第一次执行时进行语法检查和编译,编译好的版本存储在高速缓存中,用于后续调用,下次调用时可以直接执行。 3. 举例 [例9-1]创建一个基于数据库student的存储过程,该存储过程能够查询每个同学各门功课的成绩,然后调用该过程。 Use student go create procdeure student_cj as select xs.学号, xs.姓名, kc.课程名,xs_kc.成绩 from xs, kc, xs_kc where xs.学号=xs_kc.学号 and xs_kc.课程号=kc.课程号 调用存储过程 Exec student_cj go 通过上例了解存储过程的使用。 [例9-3] 在student中建立一个名为st_scr的存储过程,用 于检索电子商务概论课程成绩,并按降序排序。 所用脚本内容如下: Use student If exists (select name from sysobjects where name=‘st_scr’ and type=‘p’) Drop procedure st_scr go Create procedure st_scr As Select 姓名,课程名称,成绩 from 成绩表 as sc inner join 学生表 as st on sc.学号=st.学号 inner join 课程表 as co 0n sc.课程编号=co.课程编号 where 课程名称=‘电子商务概论’ order by 成绩 desc go Execute st_scr 总结存储过程的优点 实现了模块化编程,作为一个单元来处理 存储过程具有对数据库立即访问的功能。 使用存储过程可以加快程序的运行速度。 使用存储过程可以减少网络流量。 使用存储过程可以提高数据库的安全性。 所用脚本内容如下: Use student If exists (select name from sysobjects where name=‘st_scr_sp’ and type=‘p’) Drop procedure st_scr_sp Go Create procedure st_scr_sp @st_name varchar(6),@co_name varchar(6) as Select 姓名,课程名称,成绩 from 成绩表 as sc inner join 学生表 as st on sc.学号=st.学号 inner join 课程表 as co 0n sc.课程编号=co.课程编号 where 姓名=@st_name and 课程名称=@co_name order by 成绩 desc go Execute st_scr_sp ‘李向明’,‘计算机网络基础’ [例9-7]从xscj数据库的三个表中查询某人指定课程的成绩和学分。 Use xscj go create procedure student_info1 @name char(8),@cname char(16) as select a.学号,姓名,课程名,成绩,学分 from xs a inner join xs_kc b on a.学号=b.学号 inner join kc t on b.课程号=t.课程号 Where a.姓名=@name and t.课程名=@cname Go student_info1存储过程有多种执行方式 Execute student_info1 ’李利军’,’计算机基础’ 或 Execute student_info1 @name=’李利军’, @cname=’计算机基础’ 或 Execute student_info1,@cname=’计算机基础’, @name=’李利军’ 9.2.2 执行存储过

文档评论(0)

精品资料 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档