第7章-游标、存储过程和触发器讲述.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章-游标、存储过程和触发器讲述

创建和执行存储过程 (4)创建带多个输入参数并有默认值的存储过程 [例5] 查询某个学生某门课程的考试成绩,若没有指定课程,则默认课程为“数据库基础” CREATE PROCEDURE student_grade2 @s_name char(10),@c_name char(20)=‘数据库基础’ AS SELECT Sname, Cname, Grade FROM s,sc,c WHERE s.sno = sc.sno and c.cno = sc.cno and sname = @s_name and cname = @c_name * 7.2 存储过程 创建和执行存储过程 (4)创建带多个输入参数并有默认值的存储过程 调用参数有默认值的存储过程 EXEC student_grade3 吴宾 等价于执行: EXEC student_grade3 吴宾,数据库基础 * 7.2 存储过程 创建和执行存储过程 (5)创建带多个输入参数并均指定默认值的存储过程 [例6]查询指定系、指定性别学生中年龄大于等于指定年龄的学生情况。系的默认值为“计算机系”,性别的默认值为“男生”,年龄的默认值为20 CREATE PROC P_Student @dept char(20) = 计算机系, @sex char(2) = 男, @age int = 20 AS SELECT * FROM Student WHERE Sdept=@dept AND Ssex=@sex AND Sage=@age * 7.2 存储过程 创建和执行存储过程 (5)创建带多个输入参数并均指定默认值的存储过程 执行1:不提供任何参数值。 EXEC P_Student 执行2:提供全部参数值。 EXEC P_Student 信息系, 女, 19 执行3:只提供第二个参数的值。 EXEC P_Student @sex = 女 执行4:只提供第一个和第三个参数的值。 EXEC P_Student @sex = 女 , @age = 19 * 7.2 存储过程 创建和执行存储过程 (6)创建带有输出参数的存储过程 [例7] 计算两个数的和。 CREATE PROCEDURE sum1 @var1 int,@var2 int,@var3 int output As Set @var3=@var1 * @var2 执行此存储过程: Declare @res int Execute sum1 5,7,@res output Print @res * 7.2 存储过程 创建和执行存储过程 (6)创建带输入参数和一个输出参数的存储过程 [例8] 统计指定课程的平均成绩,并将统计的结果用输出参数返回。 CREATE PROCEDURE AvgGrade @cn char(20), @avg_grade int output AS SELECT @avg_grade = AVG(Grade) FROM SC,C WHERE C.Cno = SC.Cno and Cname = @cn * 7.2 存储过程 创建和执行存储过程 (7)创建带输入参数和多个输出参数的存储过程 [例9] 统计指定课程的平均成绩和选课人数,将统计的结果用输出参数返回。 CREATE PROCEDURE Avg_Count @cn char(20), @avg_grade int output, @total int output AS SELECT @avg_grade = AVG(Grade), @total = COUNT(*) FROM SC ,C WHERE C.Cno = SC.Cno and Cname = @cn * 7.2 存储过程 创建和执行存储过程 (8)创建删除数据的存储过程 [例10] 删除考试成绩不及格学生的修课记录。 CREATE PROCEDURE p_DeleteSC AS DELETE FROM sc WHERE grade 60 * 7.2 存储过程 创建和执行存储过程 (9)创建修改数据的存储过程 [例11] 将指定课程的学分增加2分。 CREATE PROCEDURE p_UpdateCredit @cn varchar(20) AS UPDATE course SET credit=credit+2 WHERE cname = @cn * 7.2 存储过程 删除存储过程 DROP PROC [ EDU

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档