sql 数据库 第十二章 sql server 2008存储过程

sql 数据库 第十二章 sql server 2008存储过程

ID:22025400

大小:729.00 KB

页数:34页

时间:2018-10-21

sql 数据库  第十二章 sql server 2008存储过程_第1页
sql 数据库  第十二章 sql server 2008存储过程_第2页
sql 数据库  第十二章 sql server 2008存储过程_第3页
sql 数据库  第十二章 sql server 2008存储过程_第4页
sql 数据库  第十二章 sql server 2008存储过程_第5页
资源描述:

《sql 数据库 第十二章 sql server 2008存储过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SQLServer数据库程序设计授课教师:姜姗存储过程和触发器掌握存储过程的定义方法掌握执行存储过程的方法理解触发器的概念掌握利用触发器实现数据完整性的方法12.1存储过程12.1.1存储过程概述存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。存储过程是利用SQLServer所提供的Transact-SQL语言所编写的程序。存储过程的运用范围比较广,可以

2、包含几乎所有的T-SQL语句,例如数据库存取语句、流程控制语句、错误处理语句等,使用起来十分有弹性。存储过程在第一次执行时进行编译,然后将编译好的代码保存在高速缓存中供以后调用,以提高代码的执行效率。存储过程已在服务器注册而且在运行时不需要再对存储过程进行编译,执行速度快、效率高。存储过程具有安全特性(例如权限)和所有权链接,以及可以附加到它们的证书。用户可以被授予权限来执行存储过程而不必直接对存储过程中引用的对象具有权限。存储过程可以强制应用程序的安全性。参数化存储过程有助于保护应用程序不受SQLInjection(SQL注入)攻击。存储过程允许模块化程序设计。

3、存储过程一旦创建,以后即可在程序中调用任意多次。这可以改进应用程序的可维护性,并允许应用程序统一访问数据库。存储过程可以减少网络通信流量。一个需要数百行Transact-SQL代码的操作可以通过一条执行过程代码的语句来执行,而不需要在网络中发送数百行代码。使用存储过程有如下好处:1.用户定义的存储过程用户定义的Transact-SQL存储过程中包含一组Transact-SQL语句集合,可以接受和返回用户提供的参数。2.扩展存储过程扩展存储过程是指MicrosoftSQLServer的实例可以动态加载和运行的DLL,是由用户使用编程语言(例如C)创建的自己的外部例程

4、,扩展存储过程一般使用sp_或xp_前缀。3.系统存储过程由系统提供的存储过程,可以作为命令执行各种操作。系统存储过程定义在系统数据库master中,其前缀是sp_,例如常用的显示系统信息的sp_help存储过程。存储过程的分类12.1.2创建存储过程1.利用CreateProcedure语句创建CreateProcedure语句的语法格式为:Create{Proc

5、Procedure}procedure_name[;number][{@parameterdata_type}[Varying][=default][Out

6、Output][Readonly]][,.

7、..n][WithEncryption

8、Recompile][ForReplication]As{[;][...n]}[;]说明:procedure_name:存储过程名。;number:是可选整数,用于对同名的过程分组。@parameter:过程中的参数。在CREATEPROCEDURE语句中可以声明一个或多个参数。data_type:参数以及所属架构的数据类型。VARYING:指定作为输出参数支持的结果集。该参数由存储过程动态构造,其内容可能发生改变。仅适用于cursor参数。default:参数的默认值。如果定义了default

9、值,则无需指定此参数的值即可执行过程。默认值必须是常量或NULL。OUTPUT:指示参数是输出参数。此选项的值可以返回给调用EXECUTE的语句。ENCRYPTION:指示SQLServer将CREATEPROCEDURE语句的原始文本转换为加密格式。RECOMPILE:指示数据库引擎不缓存该过程的计划,该过程在运行时编译。FORREPLICATION:指定不能在订阅服务器上执行为复制创建的存储过程。:存储过程执行的T-SQL语句。例如:创建一个存储过程,查看student表里的所有记录,并运行该存储过程。其代码如下:CREATEPR

10、OCpr_studentCodesASSELECT*FROMstudentGOEXECpr_studentCodes具体的步骤为:1)在选定的数据库下打开【可编程性】节点。2)找到【存储过程】节点,单击鼠标右键,在弹出的快捷菜单中选择【新建存储过程】,如图12.1所示。3)在新建的查询窗口中可以看到关于创建存储过程的语句模板,在其中添加相应的内容,单击工具栏的‘执行‘即可。SQLServerManagementStudio中创建存储过程例如:使用SQLServerManagementStudio创建一个存储过程pr_student,其作用是查看student数据库

11、中某学生记

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。