SQLServer2005_存储过程

SQLServer2005_存储过程

ID:37512487

大小:62.00 KB

页数:10页

时间:2019-05-24

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

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

1、/**************存储过程*******************************//*    是在数据库服务器上创建、运行的一组sql语句的集合的过程程序通常只在首次运行时编译后驻留高速缓存中,以后调用直接在高速缓存中获取优点:提高查询性能,减少网络流量编译优化执行速度快加强安全性类型用户定义的存储过程系统存储过程系统存储过程以字符sp_开头扩展存储过程系统扩展存储过程以字符sp_或xp_开头*/--系统存储过程   --通常返回0表示成功失败为非0值execsp_databasesexecsp_helpfile--返回当前数据库的文件信息--用户定义的存

2、储过程--创建--规则:--不能包含的sql语句create[defaulttriggerviewrulefunction]等----不带参数的存储过程createprocedureproc_empasselect*fromemp;--调用execdbo.proc_emp--带输入参数的存储过程IFOBJECT_ID('dbo.proc_emp2','P')ISNOTNULLDROPPROCEDUREdbo.proc_emp2;GOCREATEPROCEDUREdbo.proc_emp2@namevarchar(20)='刘德华',--指定默认值@idint=107ASbeg

3、inif(@id>100)select*fromempwhereempName=@nameorempId=@idelseprint'编号必须大于100';end--调用方式execdbo.proc_emp2execdbo.proc_emp2'张无忌',44execdbo.proc_emp2@name='张无忌',@id=101--带通配符输入参数的存储过程ifObject_id('dbo.proc_emp3','p')isnotnulldropprocdbo.proc_emp3gocreateprocproc_emp3@namevarchar(20)='张%'--指定默认值a

4、sselect*fromempwhereempNamelike@name;--调用execproc_emp3'%'execproc_emp3@name='刘%'execproc_emp3--使用输出参数的存储过程ifObject_id('dbo.proc_emp4','p')isnotnulldropprocdbo.proc_emp4gocreateproceduredbo.proc_emp4@maxintoutput,@namevarchar(20)outputasselecttop1@name=empName,@max=payfromemp4orderbypaydesc;

5、GO--调用declare@mint,@nvarchar(20)executedbo.proc_emp4@moutput,@noutprint'薪水最高的员工:'+@n+'薪水:'+cast(@masvarchar(5))--综合例子:ifexists(select*fromsys.sysobjectswherename='bank')droptablebankGOcreatetablebank(customerNamevarchar(20),currentMoneydecimal(12,2)--当前余额)altertablebankaddconstraintCK_curre

6、ntMonaltereycheck(currentMoney>=1.00)GOinsertintobankvalues('张三',1000)insertintobankvalues('李四',1)GOCreateprocproc_bank@avarchar(20),@bvarchar(20),@mdecimal,@rintoutputasbegintransactionbegintryupdatebanksetcurrentMoney=currentMoney-@mwherecustomerName=@aupdatebanksetcurrentMoney=currentMon

7、ey+@mwherecustomerName=@bcommittransactionset@r=1endtrybegincatchrollbacktransactionset@r=0endcatch--调用declare@aintexecproc_bank'张三','李四',1000,@aoutputprint@aGo--withencryption--加密存储过程的定义阻止返回存储过程的定义文本createprocproc_emp5withencryptionasselect*fromemp;exec

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

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

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