天天看點

存儲過程總結 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,如需轉載請自行聯系原作者