存储过程和游标

存储过程和游标

ID:40182962

大小:1016.81 KB

页数:38页

时间:2019-07-24

存储过程和游标_第1页
存储过程和游标_第2页
存储过程和游标_第3页
存储过程和游标_第4页
存储过程和游标_第5页
资源描述:

《存储过程和游标》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、7.1存储过程概述存储过程简介SQLServer提供了一种方法:可以将一些预先编译的SQL语句集中起来由SQLServer数据库服务器来完成以实现某个任务,这就是存储过程。存储过程常驻在SQLServer数据库服务器的内存中。1.存储过程运行的速度比较快,比SQL语句执行速度快2~10倍。2.存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因。3.存储过程运行稳定,错误较少。4.存储过程主要是在服务器上运行,减少对客户机的压力。5.存储过程可以包含程序流、逻辑以及对数据库的查询。6.可以在单个存储过程中执行一

2、系列SQL语句。7.增加网络流量,降低网络负担。如果使用单条调用语句的方式,就必须传输大量的SQL语句。存储过程优点系统存储过程系统创建的存储过程,存储在系统数据库中,以“sp_”为开头本地存储过程在用户数据库中创建的用户存储过程,完成特定数据库操作任务临时存储过程属于本地存储过程,只能在一个用户会话中使用远程存储过程从远程服务器上调用的存储过程,即非本地存储过程扩展存储过程在SQLServer环境之外执行的动态链接库DLLCLR过程SQLServer2005新增的存储过程,针对.NET使用存储过程分类7.1.1存储过程的创建使用Createp

3、rocedure语句CREATEPROC[EDURE]procedure_name[{@parameterdata_type}[VARYING][=default][OUTPUT]][,...n][WITH{RECOMPILE

4、ENCRYPTION

5、RECOMPILE,ENCRYPTION}]ASsql_statement新存储过程的名称过程中的参数参数数据类型参数的默认值参数是返回参数指定过程要执行的操作过程中要包含的任意数目和类型的Transact-SQL语句使用Createprocedure语句例1创建存储过程,查询安徽表中所有内容,并按

6、名字进行排序。CREATEPROCEDUREexp1asSelect*From安徽Orderbyname使用Createprocedure语句例2创建存储过程,加入一条记录到安徽表中。CREATEPROCEDUREexp2@IDint,@AREAfloat,@PERIMETERfloat,@BNDRY_IDchar(6),@NAMEchar(8),@DIQUchar(8)asInsertinto安徽Valus(@ID,@AREA,@PERIMETER,@BNDRY_ID,@NAME,@DIQU)存储过程参数的使用例3创建带参数的存储过程,完成输

7、入某一个字,输出包含该字的记录。CREATEPROCEDUREexp2@namevarchar(8)AsSelect*From安徽WhereNAMElike‘%’+@name+’%’存储过程参数的使用例4创建带参数的存储过程,完成输入某行政区划代码,如果存在输出该县(市)的信息,如果不存在,则显示“您输入错误!”CREATEPROCEDUREexp4@BNDRY_IDvarchar(8)AsBeginDeclare@bit_existbitIfexists(Select*From安徽WhereBNDRY_ID=@BNDRY_ID)Set@bit

8、_exist=1elseSet@bit_exist=0if@bit_exist=1BeginSelect*From安徽WhereBNDRY_ID=@BNDRY_IDEndElsePrint‘您输入错误!’end存储过程参数的使用例5创建带参数的存储过程,完成输入某行政区划代码前4位,统计该地区下辖县(市)有几个。CREATEPROCEDUREexp5@BNDRY_IDvarchar(8)AsSelectcount(*)From安徽WhereBNDRY_IDlike@BNDRY_ID+‘%’加密存储过程如果用户不想让其他人查看存储过程的定义文本,

9、可以在定义存储过程的同时,对其进行加密,来保护代码的安全性,通过加密的存储过程可以正常使用,但是无法查看该存储过程的内容,在SQLServerManagementStudio中也不能修改,只能通过ALTER语句来修改。CREATEPROCEDUREexp6WithencryptionasSelect*From安徽OrderbynameExecsp_helptextexp6查看存储过程源代码存储过程的维护存储过程修改ALTERPROC[EDURE]procedure_name[{@parameterdata_type}[VARYING][=def

10、ault][OUTPUT]][,...n][WITH{RECOMPILE

11、ENCRYPTION

12、RECOMPILE,ENCRYPTION}]ASsql

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

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

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