SQL第9章存储过程和事务

SQL第9章存储过程和事务

ID:45077188

大小:595.00 KB

页数:52页

时间:2019-11-09

SQL第9章存储过程和事务_第1页
SQL第9章存储过程和事务_第2页
SQL第9章存储过程和事务_第3页
SQL第9章存储过程和事务_第4页
SQL第9章存储过程和事务_第5页
资源描述:

《SQL第9章存储过程和事务》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1第9章存储过程和事务9.1存储过程概述9.2创建管理简单存储过程9.3创建管理带参的存储过程9.4事务29.1存储过程概述1.存储过程概念存储过程是为了实现某个特定任务,由一组预先编译好的SQL语句组成,将其放在服务器上,由用户通过指定存储过程的名字来执行的一种数据库对象。2.存储过程类型系统存储过程:以SP_为前缀,是由SQLServer2005自己创建、管理和使用的一种特殊的存储过程,不能对其进行修改或删除。如sp_helpdb、sp_renamedb等扩展存储过程:以XP_为前缀,SQLSERVER的实例可以动态加载和运行的DL

2、L,直接在实例地址空间中运行,可以使用SQLSERVER扩展存储过程API完成编程。如xp_servicecontrol(停止或启动某个服务)用户自定义存储过程:由用户自行创建的存储过程,可以输入参数、向客户端返回表格或结果、消息等,也可以返回输出函数39.2创建管理简单的存储过程9.2.1无参存储过程的创建9.2.2无参存储过程的执行9.2.3查看存储过程9.2.4修改存储过程9.2.5编译存储过程9.2.6删除存储过程49.2.1无参存储过程的创建使用SQL语句创建存储过程1)语法格式如下:CREATEPROC[EDURE]proc

3、edure_nameASsql_statement[...n]2)语法注释:procedure_name:新建存储过程的名称,其名称必须符合标识符命名规则,且对于数据库及其所有者必须唯一。sql_statement:指存储过程中的任意数目和类型的Transact-SQL语句。59.2.1无参存储过程的创建例1:在PUBS数据库中,创建一个名称为pr_searchorddate的存储过程,该存储过程将查询出sales表中订购日期ord_date在1994年以后的记录信息。代码如下:CREATEPROCpr_searchorddateASS

4、ELECT*FROMsalesWHEREord_date>='1994-1-1'GO6创建存储过程的注意事项只能在当前数据库中创建存储过程。数据库的所有者可以创建存储过程,也可以授权其他用户创建存储过程。存储过程是数据库对象,其名称必须遵守标识符命名规则。不能将CREATEPROCEDURE语句与其它SQL语句组合到单个批处理中。79.2创建管理简单的存储过程9.2.1无参存储过程的创建9.2.2无参存储过程的执行9.2.3查看存储过程9.2.4修改存储过程9.2.5编译存储过程9.2.6删除存储过程89.2.2无参存储过程的执行对存储

5、在服务器上的存储过程,可以使用EXECUTE命令或其名称执行它,其语法格式如下:EXEC[UTE]procedure_name对上例的存储过程pr_searchorddate的执行语句如下:EXECUTEpr_searchorddate99.2创建管理简单的存储过程9.2.1无参存储过程的创建9.2.2无参存储过程的执行9.2.3查看存储过程9.2.4修改存储过程9.2.5编译存储过程9.2.6删除存储过程109.2.3查看存储过程1.使用对象资源管理器查看存储过程2.使用系统存储过程查看存储过程信息在SQLServer中,可以使用sp

6、_helptext、sp_depends、sp_help等系统存储过程来查看存储过程的不同信息。1)使用sp_helptext查看存储过程的文本信息.其语法格式为:sp_helptext存储过程名2)使用sp_depends查看存储过程的相关性.其语法格式为:sp_depends存储过程名3)使用sp_help查看存储过程的一般信息.其语法格式为:sp_help存储过程名119.2.4修改存储过程修改存储过程语法格式为:ALTERPROC[DURE]procedure_name[{@parameterdata_type}[=defaul

7、t][OUTPUT][,…n][WITH{RECOMPILE

8、ENCRYPTION

9、RECOMPILE,ENCRYPTION}]ASSql_statement129.2.4修改存储过程例14:修改存储过程pr_searchorddate,查询出sales表中订购日期在93年以后的订单。其程序清单如下:AlterPROCpr_searchorddateASSELECT*FROMsalesWHEREord_date>='1993-1-1'GO139.2.5编译存储过程在我们使用了一次存储过程后,可能会因为某些原因,必须向表中新增加数据列或者

10、为表新添加索引,从而改变了数据库的逻辑结构。这时,需要对存储过程进行重新编译,SQLServer提供三种重新编译存储过程的方法:1、在建立存储过程时设定重新编译语法格式:CREATEPROCEDUREpro

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

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

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