商洛学院经济与管理学院数据库原理及应用课件第十二章 存储过程和触发器.pptVIP

商洛学院经济与管理学院数据库原理及应用课件第十二章 存储过程和触发器.ppt

  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文档。上传文档
查看更多
执行例6存储过程示例 查询VB课程的考试平均成绩: DECLARE @Avg_Grade int EXEC p_AvgGrade VB, @Avg_Grade output PRINT @Avg_Grade 示例7 例7.含输入参数和多个输出参数的存储过程。统计指定课程的平均成绩和选课人数,将统计的结果用输出参数返回。 CREATE PROC p_AvgCount @cn char(20), @avg_grade int output, @total int output AS SELECT @avg_grade = AVG(Grade), @total = COUNT(*) FROM SC JOIN Course C ON C.Cno = SC.Cno WHERE Cname = @cn 执行例7存储过程示例 查询VB课程的考试平均成绩和选课人数: DECLARE @avg int, @count int EXEC p_AvgCount VB, @avg output, @count output SELECT @avg AS 平均成绩, @count AS 选课人数 示例8 例8.将指定课程的学分增加2分。 CREATE PROC p_UpdateCredit1 @cno char(6) AS UPDATE Course SET Credit = Credit + 2 WHERE Cno = @cno 示例9 例9.将指定课程的学分改为指定值,要求指定值必须在1~10之间,否则不予修改。 CREATE PROC p_UpdateCredit2 @cno char(6),@credit int AS IF @credit BETWEEN 1 AND 20 UPDATE Course SET Credit = @credit WHERE Cno = @cno 示例10 例10.删除指定学生(学号)的成绩不及格的修课记录。 CREATE PROC p_DeleteSC @sno char(7) AS DELETE FROM SC WHERE Sno = @sno AND Grade 60 12.2.3 查看和修改存储过程 1.查看已定义的存储过程 展开要查看存储过程的数据库,然后顺序展开“可编程性”?“存储过程”。 在某个存储过程上右击鼠标,在弹出的菜单中选择“修改”命令,可以查看定义该存储过程的代码。 2.修改存储过程 修改存储过程的语句为: ALTER PROC [ EDURE ] 存储过程名 [ { @参数名 数据类型 } [ = default ] [OUTPUT] ] [ , ... n ] AS SQL语句 [ ... n ] 示例 例11.修改p_grade2存储过程,使其能查询指定系中考试成绩大于等于80分的学生姓名、所在系、课程名和考试成绩。 ALTER PROCEDURE p_grade2 @dept char(20) AS SELECT Sname, Sdept, Cname, Grade FROM Student s INNER JOIN SC ON s.Sno = SC.Sno INNER JOIN Course c ON c.Cno = SC.Cno WHERE Sdept = @dept AND Grade = 80 12.2.4 删除存储过程 用图形化方法删除:在要删除的存储过程上右击鼠标,在弹出菜单中选择“删除”命令; 用T-SQL语句删除: DROP { PROC | PROCEDURE } { procedure } [ ,...n ] 示例 例12.删除p_grade2存储过程。 DROP PROC p_grade2 例13.同时删除p_Student和p_Sum存储过程。 DROP PROC p_Student, p_Sum 12.3 触发器 12.3.1 创建触发器 12.3.2 后触发型触发器 12.3.3 前触发型触发器 12.3.4 查看和更改触发器 12.3.5 删除触发器 触发器概述 触发器是一种特殊的存储过程, 当用户对表中的数据进行UPDATE、INSERT或DELETE操作时自动触发执行。 通常用于保证业务规则和数据完整性, 使用户可以用编程的方法来实现复杂的处理逻辑和商业规则,增强了数据完整性约束的功能。 12.3.1创建触发器 CREATE TRIGGER 触发器名称 ON {表名 | 视图名} { FOR | AFTER | INSTEAD

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档