网站大量收购闲置独家精品文档,联系QQ:2885784924

SQLServer2005_存储过程.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLServer2005_存储过程

/**************存储过程*******************************/ /*     是在数据库服务器上创建、运行的一组sql语句的集合的过程程序 通常只在首次运行时编译后驻留高速缓存中,以后调用直接在高速缓存中获取 优点: 提高查询性能,减少网络流量 编译优化 执行速度快 加强安全性 类型 用户定义的存储过程 系统存储过程 系统存储过程以字符sp_开头 扩展存储过程 系统扩展存储过程以字符sp_或xp_开头 */ --系统存储过程    --通常返回0表示成功 失败为非0值 exec sp_databases exec sp_helpfile --返回当前数据库的文件信息 --用户定义的存储过程 --创建 --规则: --不能包含的sql语句 create [default trigger view rule function]等 ----不带参数的存储过程 create procedure proc_emp as select * from emp; --调用 exec dbo.proc_emp --带输入参数的存储过程 IF OBJECT_ID ( dbo.proc_emp2, P ) IS NOT NULL DROP PROCEDURE dbo.proc_emp2; GO CREATE PROCEDURE dbo.proc_emp2 @name varchar(20) =刘德华, --指定默认值 @id int =107 AS begin if(@id100) select * from emp where empName=@name or empId=@id else print 编号必须大于100; end --调用方式 exec dbo.proc_emp2 exec dbo.proc_emp2 张无忌,44 exec dbo.proc_emp2 @name=张无忌,@id=101 --带通配符输入参数的存储过程 if Object_id(dbo.proc_emp3,p) is not null drop proc dbo.proc_emp3 go create proc proc_emp3 @name varchar(20) =张% --指定默认值 as select * from emp where empName like @name; --调用 exec proc_emp3 % exec proc_emp3 @name =刘% exec proc_emp3 --使用输出参数的存储过程 if Object_id(dbo.proc_emp4,p) is not null drop proc dbo.proc_emp4 go create procedure dbo.proc_emp4 @max int output,@name varchar(20) output as select top 1 @name=empName,@max=pay from emp4 order by pay desc; GO --调用 declare @m int,@n varchar(20) execute dbo.proc_emp4 @m output,@n out print 薪水最高的员工:+@n + 薪水:+cast(@m as varchar(5)) --综合例子: if exists(select * from sys.sysobjects where name=bank) drop table bank GO create table bank( customerName varchar(20), currentMoney decimal(12,2) --当前余额 ) alter table bank add constraint CK_currentMonalterey check(currentMoney=1.00) GO insert into bank values(张三,1000) insert into bank values(李四,1) GO Create proc proc_bank @a varchar(20),@b varchar(20),@m decimal,@r int output as begin transaction begin try update bank set currentMoney=curren

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档