06-SQL存储过程.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
06-SQL存储过程

存储过程 本章目标 了解存储过程的优点 掌握常用的系统存储过程 掌握如何创建存储过程 掌握如何调用存储过程 存储过程的优点 执行速度更快 允许模块化程序设计 提高系统安全性 减少网络流通量 存储过程的分类 系统存储过程 由系统定义,存放在master数据库中 类似C语言中的系统函数 系统存储过程的名称都以“sp_”开头或”xp_”开头 用户自定义存储过程 由用户在自己的数据库中创建的存储过程 类似C语言中的用户自定义函数 常用的系统存储过程 常用的扩展存储过程:xp_cmdshell 可以执行DOS命令下的一些的操作 以文本行方式返回任何输出 调用语法: EXEC xp_cmdshell DOS命令 [NO_OUTPUT] 如何创建存储过程 定义存储过程的语法 CREATE PROC[EDURE] 存储过程名 @参数1 数据类型 = 默认值 OUTPUT, …… , @参数n 数据类型 = 默认值 OUTPUT AS SQL语句 GO 和C语言的函数一样,参数可选 参数分为输入参数、输出参数 输入参数允许有默认值 创建不带参数的存储过程 创建不带参数的存储过程 调用存储过程 EXECUTE(执行)语句用来调用存储过程 调用的语法 EXEC 过程名 [参数] 存储过程的参数分两种: 输入参数 输出参数 输入参数: 用于向存储过程传入值,类似C语言的按值传递; 输出参数: 用于在调用存储过程后, 返回结果,类似C语言的 按引用传递; 输入参数的默认值 带参数的存储过程确实比较方便,调用者可根据试卷的难易度,随时修改每次考试的及格线 处理存储过程中的错误 可以使用PRINT语句显示错误信息,但这 些信息是临时的,只能显示给用户 RAISERROR 显示用户定义的错误信息时 可指定严重级别, 设置系统变量@@ERROR 记录所发生的错误等 使用RAISERROR 语句 RAISERROR语句的用法如下: 使用RAISERROR 语句 使用RAISERROR 语句 总结 存储过程是一组预编译的SQL语句,它可以包含数据操纵语句、变量、逻辑控制语句等 存储过程允许带参数,参数分为: 输入参数 输出参数 其中,输入参数可以有默认值。 输入参数:可以在调用时向存储过程传递参数,此类参数可用来向存储过程中传入值 输出参数从存储过程中返回(输出)值,后面跟随OUTPUT关键字 RAISERROR语句用来向用户报告错误 总结: 方式多样,例如:可以指定某些睡觉的学员总结,随机抽号总结,集体总结,调动课堂氛围。 讲解要点:和C语言的函数类比,学员容易接受。 讲解关键代码 演示:示例6:raiserror语句.sql 重点讲解蓝色标识的系统存储过程。 提问:在企业管理器中能修改数据库的名称吗? 演示:在企业管理器中能修改数据库的名称,结果修改不了。怎么办呢? 吸引学员,然后演示“示例1:常用的系统存储过程.sql”,逐行执行各条T-SQL语句。 在查询分析器中调用sp_renamedb系统存储过程修改数据库非常实用。 说明:执行时,需要单用户访问,最简单的办法就是执行SQL语句时关掉企业管理器。 演示:示例2:xp_cmdshell扩展存储过程.sql 说明:笔试和机试都通过了60分才算通过。 讲解关键代码。 根据试卷的难度,我们希望笔试和机试的及格线应该是随时变化的,而不是固定的60分。 讲解要点: 上述带参数的存储过程确实比较方便,调用者可以随时更改每次考试的及格线。但如果考试的难易程度合适,则调用者还是必须如此调用: EXEC proc_stu 60,60 这些显得比较麻烦,能不能在调用时,存储过程的参数变为可选呢?例如,如果调用形式为: EXEC proc_stu 55 --表示笔试及格线55分,机试及格线默认为60分 EXEC proc_stu ---表示笔试和机试及格线都默认为标准的60分 提问学员:怎么办呢? 告诉学员:完全没问题。存储过程的输入参数允许您设置默认值 强调: 1.默认值放在参数的数据类型后面,而不是放在参数变量的后面。 2.为了调用的方便,推荐将默认参数放置在参数列表的最后 第四章 存储过程(procedure)类似于C语言中的函数 用来执行管理任务或应用复杂的业务规则 存储过程可以带参数,也可以返回结果 int sum(int a,int b) { int s; s =a+b; return s ; } 存储过程相当于C语言中的函数 什么是存储过程

文档评论(0)

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

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

认证主体闫**

1亿VIP精品文档

相关文档

相关课程推荐