存储过程总结 1

由于工作原因最近一直在看存储过程,之前只是对存储过程有个大体的了解,发现还有很多知识点需要学习,今天写下最近几天的总结,以备后患,好记忆不如烂笔头。

CREATE  PROC PROC_NAME [].[] 

创建存储过程,名称为PROC_NAME,或者以方括号的形式命名、展现

  /***************************************************/      

注解,一般为存储过程的注解,例如如下:

/***************************************************/            

--DECRIPT  外购入库单明细表保存(源单:采购检验申请单)           

--PARAM   标识            

--CREATE DATE   2010-11-16           

--CREATE AUTHOR  神舟龙  

--GROUP     U-Shop    

/***************************************************/    

@id int --编号id

这里声明的是参数,一般用于接收从界面传送的值,也可定义为输入、输出参数,如下:

@id int  output --编号id 输出参数

@id int  input --编号id 输入参数

如果同时声明多个参数用逗号隔开,如:

在声明多个参数是用括号括起来更加易懂,易于分辨

@finterid int,--单据内码          

@fentryid int,--单据分录号          

@fitemid int,--物料内码          

使存储过程处于隐藏和不可编辑状态,就是网上所谓的“加密”

declare声明变量,声明变量类型,这里的变量和上面所说的参数不同,很多人都把它们混为一谈,其实是错误的,异同:参数一般是从cs文件或者用户输入的值,即在调用存储过程时,输入或者输出的参数,而变量是在存储过程内部声明的,就像局部变量一样,在一个存储过程中声明了之后,同样可以在其他存储过程声明,注意变量和参数的声明方式不一样,参数直接声明不用关键字declare,而变量需要用declare声明,如果同时声明多个变量,方法和参数一样,用逗号(,)隔开就可以,一般不用括号。

WITH ENCRYPTION

设置参数或者字符都是用第一种方式,第二种也可以,一般不推荐,也可以为变量设置表达式,如下:

 

 

 

DECLARE @execsql nVARCHAR(100)

 

 

这里的set 意思同样也是设置,XACT_ABORT on 是事务回滚设置为全部回滚,当在执行事务时,如果出现错误则终止执行,回滚到语句“set  XACT_ABORT on  ”之前,如果“set  XACT_ABORT off ”则指回滚出现错误的地方,但是不会终止执行,代码会继续往下执行,有利于保持代码的健康度和健壮性



本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/441264,如需转载请自行联系原作者

上一篇:bootbox.js


下一篇:【转】如何在ASP.NET 2.0中定制Expression Builders