信息系统与数据库技术4sql.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文档。上传文档
查看更多
4.5.2 执行存储过程 存储过程定义后,可以通过EXECTE语句来执行该存储过程。 语法格式: EXEC[UTE] 存储过程名[[@形参=]实参值|@变量[OUTPUT]|[DEFAULT]] 说明: 1)“@形参”是创建存储过程时定义的形参名; 2)“实参值”是输入参数的值; 3)“@变量”表示用来保存参数或者返回参数的变量;OUTPUT表示指定参数为返回参数; 4)DEFAULT表示使用该参数的默认值作为实参。 5)如果有多个参数,可以依次按以上参数定义规则列出,用逗号“,”隔开。 调用【例4-63】创建的存储过程proc_Course的语句为: EXEC proc_Course 调用【例4-64】创建的存储过程proc_SearchStudent,查生的选课情况 EXEC proc_SearchStudent或 EXEC proc_SearchStudent @stcode 在调用存储过程时,有两种数据传递的方法: (1)在传递参数时,使实参的顺序和定义时的参数顺序一致。如实参使用默认值则用DEFAULT代替。 (2)可以采用“参数=值”的形式,此时,各个参数的顺序可以任意排列。 或 DECLARE @studentcode char(8) SET @studentcode EXEC proc_searchStudent @studentcode 【例4-65】在School中创建一个的存储过程proc_SearchStudentAvgGrade,查询某个学生的选课数目和平均成绩。(本存储过程带一个输入参数和二个输出参数的,在定义输出参数时要用OUTPUT进行说明。 CREATE PROC proc_SearchStudentAvgGrade @stcode char(8), @stcount int OUTPUT,@stavg int OUTPUT AS SELECT @stcount=COUNT(T_Grade.StudentCode),@stavg=AVG(T_Grade.Grade) FROM T_Grade WHERE T_Grade.StudentCode=@stcode GROUP BY T_Grade.StudentCode HAVING T_Grade.StudentCode=@stcode 调用存储过程proc_SearchStudentAvgGrade,查询学生的选课数目和平均成绩。 DECLARE @scount int ,@savg int EXEC proc_SearchStudentAvgGrade@scount OUTPUT,@savg OUTPUT --select @scount AS 选课数目,@savg AS 平均分数 PRINT 学生 + 的选课数目为+CAST(@scount AS char(2))+门 PRINT 学生的平均成绩为+STR(@savg,5,2)+分 DECLARE @code char(8),@scount int ,@savg int set @code EXEC proc_SearchStudentAvgGrade @code,@scount OUTPUT,@savg OUTPUT PRINT 学生+@code+的选课数目为+CAST(@scount AS char(2))+门 PRINT 学生+@code+的平均成绩为+STR(@savg,5,2)+分 下列调用方式错误: EXEC proc_SearchStudentAvgGrade @code=,@scount OUTPUT,@savg OUTPUT ? 注意:存储过程调用时,一旦使用了‘@name=value’形式之后,所有后续的参数就必须以‘@name=value’形式 【例4-66】在School中创建一个存储过程proc_UpdateGrade,修改指定学号(StudentCode)和课程代号(CourseCode)的成绩(Grade)。 CREATE PROC proc_UpdateGrade @stcode char(8), @cscode char(6), @scgrade Numeric(5,1) AS UPDATE T_Grade SET Grade=@scgrade WHERE T_Grade.StudentCode=@stcode AND T_Grade.CourseCode=@cscode 执行存储过

文档评论(0)

精品家园 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档