- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12.存储过程的
存储过程;导言:存储过程;1、存储过程概念
存储过程是一种数据库对象,是为了实现某个特定任务,将一组预编译的SQL语句以一个存储单元的形式存储在服务器上,供用户调用。
存储过程在第一次执行时进行编译,然后将编译好的代码保存在高速缓存中以便以后调用,这样可以提高代码的执行效率。;2、存储过程特点
存储过程同其它编程语言中的过程相似,有如下特点:
接收输入参数并以输出参数的形式将多个值返回至调用过程或批处理。
包含执行数据库操作(包括调用其它过程)的编程语句。
向调用过程或批处理返回状态值,以表明成功或失败以及失败原因。
;3、存储过程的优点:
1、安全机制:只给用户访问存储过程的权限,而不授予用户访问表和视图的权限。
2、改良了执行性能:在第一次执行后,会在SQL server的缓冲区中创建查询树,以后执行无需编译。
3、减少网络流量:存储过程存在于服务器上,调用时,只需传递执行存储过程的执行命令和返回结果。
4、模块化的程序设计:增强了代码的可重用性,提高了开发效率。;4、存储过程类型
用户定义的存储过程:用户定义的存储过程是用户根据需要,为完成某一特定功能,在自己的普通数据库中创建的存储过程。
系统存储过程:系统存储过程以sp_为前缀,主要用来从系统表中获取信息,为系统管理员管理SQL Server提供帮助,为用户查看数据库对象提供方便。比如用来查看数据库对象信息的系统存储过程sp_help。系统存储过程被系统安装在master数据库中
扩展存储过程:扩展存储过程以xp_为前缀,它是关系数据库引擎的开放式数据服务层的一部分,其可以使用户在动态链接库(DLL)文件所包含的函数中实现逻辑功能,从而扩展了T-SQL的功能,并且可以象调用T-SQL过程那样从T-SQL语句调用这些函数。 ;常见的系统存储过程;1.创建存储过程
创建存储过程时,需要注意下列事项:
??只能在当前数据库中创建存储过程。
数据库的所有者可以创建存储过程,也可以授权其他用户创建存储过程。
存储过程是数据库对象,其名称必须遵守标识符命名规则。
?不能将 CREATE PROCEDURE 语句与其它 SQL 语句组合到单个批处理中。
创建存储过程时,应指定所有输入参数和向调用过程或批处理返回的输出参数、执行数据库操作的编程语句和返回至调用过程或批处理以表明成功或失败的状态值。;使用SQL语句创建不带参数的存储过程语法格式如下:
CREATE PROC [ EDURE ] procedure_name [ WITH??? ?{ RECOMPILE
| ENCRYPTION
} ] AS sql_statement [ ...n ]
procedure_name:新存储过程的名称。过程名必须符合标识符规则,且对于数据库及其所有者必须唯一。
RECOMPILE : SQL 不会缓存该过程的计划,该过程将在运行时重新编译。
ENCRYPTION :SQL Server 加密 使用 ENCRYPTION 可防止将过程作为SQL Server 复制的一部分发布。 ;例:在医生数据库中,创建一个查询存储过程dbo.ysghxm,要求该存储过程列出儿科系的医生工号和姓名。
(1)在创建本例存储过程时,可以先在查询编辑器中编写实现存储过程功能的T-SQL语句。代码如下:
;(2)调试该语句正确后,再创建存储过程。在查询编辑器中输入其完整程的代码如下:;2.执行存储过程
对存储在服务器上的存储过程,可以使用EXECUTE命令或其名称执行它,其语法格式如下:
[ EXEC [ UTE ] ]
procedure_name [number ] }
如果存储过程是批处理中的第一条语句,EXECUTE命令可以省略,可以使用存储过程的名字执行该存储过程。
例:在查询分析器中执行存储过程ysghxm ,其代码清单如下:;3.查看存储过程
存储过程创建好后,其名称保存在系统sysobjects中,其源代码保存在syscomments中,两表通过ID字段进行关联。
可以使用如下三种方式查看存储过程相关信息,
使用SQL Server Management Studio
直接使用系统表
使用系统存储过程;(1)使用SQL Server Management Studio查看存储过程信息
启动SQL Server Management Studio,在“对象资源管理器”窗口中,依次展开数据库、医生数据库、可编程性、存储过程节点 。
在展开的存储过程
您可能关注的文档
- 07 传送指令 算术指的令 逻辑操作指令.ppt
- 07-new 安全设计与A的CL.ppt
- 07-数控机床的基本驳奈数-hqg.ppt
- 07.09.04高一数学《的1.1.2集合间的基本关系》.ppt
- 07.串行接口的.ppt
- 07.需求和现状调研钡捻.doc
- 07上03传统以太网的.ppt
- 07存储管理的.ppt
- 07原子结构习题解答的.ppt
- 07章_统计热力学基吹摹.pdf
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)