2016存储过程详解.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2016存储过程详解

存储过程 1.定义将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。CREATE PROCEDURE procedure_name 或者Create??proc??procedure_name 优点1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 3.存储过程可以重复使用,可减少数据库开发人员的工作量 4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权2.参数,输入参数,输出参数 @parameter_name1??int,??????????//输入参数定义,包括名称,类型及长度 @parameter_name2= defual_value??varchar(80)??//输入参数,带默认值 @parameter_out??int???output??????????????????//输出的参数 AS??//as后面部分是存储过程具体内容3.内部参数定义,定义方式如2,需定义名称及,类型,长度 Declare??????? @Parameter_inter1??int, @Parameter_inter2???varchar(30) 4.初始化内部参数: Set @Parameter_inter1 =5, //可以取得需要的值以存在內部中: SELECT @parameter_inter2=table.column FROM table WHERE ……. 5.具体操作语句,一般都包括以下几种流程控制语句(if else | select case | while ): ??===============Select ... CASE(多条件) 实例:============ DECLARE @iReINT, @PKDisp VARCHAR(20) ????SET @iRet = 1 ????Select @iRet = ????CASE ????????WHEN @PKDisp = 一 THEN 1 ????????WHEN @PKDisp = 二 THEN 2 ????????WHEN @PKDisp = 三 THEN ????????WHEN @PKDisp = 四 THEN 4 ????????WHEN @PKDisp = 五 THEN 5 ????????ELSE 100 END ========== While(循环) 实例:==================== ????DECLARE @i INT ????SET @i = 1 ????WHILE @i1000000 BEGIN????????set @i=@i+1???//更改条件,比做 ????END -- 打印????PRINT @i ============= If(单条件)处理例子:================ IF @strTO????//条件 BEGIN UPDATE UNIT SET UNIT_NAME=REPLACE(UNIT_NAME,*,) WHERE UNIT_CODE=@strTO END ELSE???BEGIN UPDATE UNIT SET UNIT_NAME=UNIT_NAME+* WHERE UNIT_CODE=011 END 6.最后是 :Go使用存储过程:Execute???procedure_name 带参数为:Execute??procedure_name??‘parameter1_value’,’paramerter2_ value’ 或者:Exec??procedure_name???paramerter1=’parameter1_value’,parameter2=’ paramerter2_ value’该存储过程一共有7个参数,其中最后一个参数的OUTPUT,用于返回一共得页数 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[PagingProc] ????@PageIndex INT,????????????????--当前页码从0开始 ????@PageSize INT,????????????????--每页的大小 ????@TableName NVARCHAR(100),????-

文档评论(0)

muoy0620 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档