欢迎来到天天文库
浏览记录
ID:45077188
大小:595.00 KB
页数:52页
时间:2019-11-09
《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
此文档下载收益归作者所有