SQL Server存儲過程命名方法
方法一
A、“表”單數形式命名
語法:[proc]_[MainTableName]_([FieldName]_)[Action]
-- 創建/刪除/更新/等操作采用單數表形式命名 proc_OfferThread_Create proc_OfferThread_Update proc_OfferThread_Delete
其他輔助操作: proc_OfferThread_Status_Update proc_OfferThread_PrevNext
proc_OfferThread_Get; (如果不用ByID指明則默認是ID)
B、“表”復數形式命名
語法:[proc]_[MainTableNames]_[Action(Condition)]
-- 讀取列表或分頁集合采用復數表形式 proc_OfferThreads_Get proc_OfferThreads_GetByName; (如果不用By指明則默認是ID)
proc_OfferThreads_Delete; (默認批量按用戶編號刪除) proc_OfferThreads_DeleteByUserName (批量按用戶登錄名刪除) proc_OfferThreads_DeleteByName (批量按名稱刪除)
proc_OfferThreads_GetThreadSet (讀取分頁)
基本原則: ------------------------------------------------------------- 單數表名:表示只是針對一條記錄進行操作; 例如:記錄的讀取、加入、更新、刪除;
復數表名:表示會對多條記錄進行操作;例如:列表的讀取、
優點:一個動詞,可能因為表復數或單數的區別而有不同的含義;如果不區分復數或單數表名,則同一個動詞可能會產生岐義;
方法二
注釋:假如存儲過程以sp_ 為前綴開始命名那么會運行的稍微的緩慢,這是因為SQL Server將首先查找系統存儲過程,所以我們決不推薦使用sp_作為前綴。
存儲過程命名語法:
[proc] [MainTableName] By [FieldName(optional)] [Action]
(1) 所有的存儲過程必須有前綴'proc'. 所有的系統存儲過程都有前綴'sp_', 推薦不使用這樣的前綴因為會稍微的減慢。(2) 表名就是存儲過程訪問的對象。(3) 可選字段名就是條件子句。 例如:procClientByCoNameSelect, procClientByClientIDSelect(4) 最后的行為動詞就是存儲過程要執行的任務: 如果存儲過程返回一條記錄那么后綴是:Select 如果存儲過程插入數據那么后綴是:Insert 如果存儲過程更新數據那么后綴是:Update 如果存儲過程有插入和更新那么后綴是:Save 如果存儲過程刪除數據那么后綴是:Delete 如果存儲過程更新表中的數據 (ie. drop and create) 那么后綴是:Create 如果存儲過程返回輸出參數或0,那么后綴是:Output
從前的寫法:
查詢:procGetRate 或 sp_GetRate添加:procEmailMergeAdd
現在的寫法:
查詢:procClientRateSelect添加:procEmailMergeInsert
