- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL_Server数据库技术及应用(第五讲)——编程基础和存储过程--.ppt
带输出参数的存储过程 定义格式同上,同时指明OUTPUT关键字 例:创建存储过程P_ClassNum,要求能根据用户给定的班级代码,统计该班的人数,并将人数通过输出变量返回给用户。 如要查询班级代码的学生人数,如何调用存储过程 SQL语句 创建带有输出参数的存储过程 use xk go create procedure p_classnum @classno varchar(8), @classnum smallint output as set @classnum= (select count(*) from student where classno=@classno) print @classnum SQL语句 执行含有输出参数的存储过程 declare @classno varchar(8), @classnum smallint set @classno= exec p_classnum @classno,@classnum 练习 【练习一】创建存储过程Cou_credit,要求能根据用户给定的学分值,统计满足该学分值的课程数目,并把它返回给调用程序。 如:要统计2个学分的课程门数,该如何调用上述存储过程。 【练习二】创建名为mod_credit的存储过程,能修改用户指定课程号的课程学分值,修改值也由用户指定。 如:将课程号为‘001’的课程的学分改为5。 练习一 use xk go create procedure cou_credit @credit decimal(3,0) , @counum smallint output as set @counum=(select count(*) from course where credit=@credit) print @counum 练习一 declare @credit decimal(3,0),@counum smallint set @credit=2 exec cou_credit @credit,@counum 练习二 use xk go create procedure mod_credit @couno char(8),@credit decimal(3,0) as update course set credit=@credit where couno=@couno go 练习二 use xk go declare @couno char(8), @credit decimal(3,0) set @couno=001 set @credit=5 exec mod_credit @couno,@credit 修改存储过程 修改格式: alter procedure proc_name @para_name datatype [=default], … [with encryption] [with recompile] as sql_statements 修改存储过程 [例] 使用Transact-SQL语句修改存储过程p_studentpara1,使其能根据用户提供的班级名称,进行模糊查询。 SQL语句 alter procedure p_studentpara5 @classname varchar(20) as select classname,stuno,stuname,pwd from student,class where student.classno=class.classno and classname like %+@classname+% go 重命名存储过程 重命名: 使用企业管理器 注意:要修改两个地方 在企业管理器中选择要重命名的存储过程,然后右键选择“重命名”,确认。 双击此存储过程,进入属性对话框 重命名 * 流控语句 print print语句可在屏幕上显示用户的信息以及char、varchar数据类型变量的内容。其他数据类型必须先进行类型转换。 练习3 编写程序,计算n!(n=10),并将结果显示出来 存储过程概述 问题 要把某完成功能的SQL做成类似C语言的函数,供需要时调用,如何做? 什么是存储过程? 是一组被编译在一起的T-SQL语句的集合,它们被集合 在一起以完成一个特定的任务。 概述 存储过程的分类 系统存储过程 扩展存储过程(提供从SQL Server到外部程序的接口,以便进行各种维护活动) 用户自定义的存储过程 存储过程的作用 从以下几个方面
文档评论(0)