亲爱的MBA智库百科用户:


过去的17年,百科频道一直以免费公益的形式为大家提供知识服务,这是我们团队的荣幸和骄傲。 然而,在目前越来越严峻的经营挑战下,单纯依靠不断增加广告位来维持网站运营支出,必然会越来越影响您的使用体验,这也与我们的初衷背道而驰。 因此,经过审慎地考虑,我们决定推出VIP会员收费制度,以便为您提供更好的服务和更优质的内容。


MBA智库百科VIP会员,您的权益将包括: 1、无广告阅读; 2、免验证复制。


当然,更重要的是长期以来您对百科频道的支持。诚邀您加入MBA智库百科VIP会员,共渡难关,共同见证彼此的成长和进步!



MBA智库百科项目组
2023年8月10日
百科VIP
未登录
无广告阅读
免验证复制
支付方式:
微信支付
支付宝
PayPal
购买数量:
1
应付金额:
10
汇率换算:
10
美元(USD)

按当月汇率换算,

包含手续费

打开手机微信 扫一扫继续付款
立即开通
PayPal支付后,可能会遇到VIP权益未及时开通的情况,请您耐心等待,或者联系百科微信客服:mbalib888。
温馨提示:当无法进去支付页面时,可刷新后重试或更换浏览器
开通百科会员即视为同意《MBA智库·百科会员服务规则》

支付成功

全球专业中文经管百科,由121,994位网友共同编写而成,共计436,079个条目

存儲過程

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

存儲過程(Store Procedure)

目錄

[隱藏]

什麼是存儲過程

  存儲過程是 SQL 語句和可選控制流語句的預編譯集合,以一個名稱存儲並作為一個單元處理,是資料庫中的一個對象。

  存儲過程存儲在資料庫內,可由應用程式通過一個調用執行,而且允許用戶聲明變數、有條件執行以及其它強大的編程功能。

存儲過程的類型

  1、系統存儲過程:以“sp_”為首碼標識,存儲在“master”資料庫中,提供對系統表的檢索和管理功能。

  2、擴展存儲過程:以“xp_”為首碼標識,通過執行外部DLL來實現功能。

  3、本地存儲過程:創建在用戶資料庫中。

  4、臨時存儲過程:主要用於用戶會話中臨時存儲的功能。

  5、遠程存儲過程:為早期功能。

存儲過程的優點

  1、與其他應用程式共用應用邏輯,確保一致的數據訪問和修改。存儲過程封裝了商務邏輯。若規則或策略有變化,則只需要修改伺服器上的存儲過程,所有的客戶端就可以直接使用。

  2、屏蔽資料庫模式的詳細資料。用戶不需要訪問底層的資料庫和資料庫內的對象。

  3、提供了安全性機制。用戶可以被賦予執行存儲過程的許可權,而不必在存儲過程引用的所有對象上都有許可權。

  4、改善性能。預編譯的 Transact-SQL 語句,可以根據條件決定執行哪一部分。

  5、減少網路通信量。客戶端用一條語句調用存儲過程,就可以完成可能需要大量語句才能完成的任務,這樣減少了客戶端伺服器之間的請求/回答包。

存儲過程的命名規範及命名方法

  方法一

  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

  添加:procEmailMerge insert

本條目對我有幫助3
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

鲈鱼,jane409,Yixi,苏青荇,刘维燎.

評論(共0條)

提示:評論內容為網友針對條目"存儲過程"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP
告MBA智库百科用户的一封信
亲爱的MBA智库百科用户: 过去的17年,百科频道一直以免费公益的形式为大家提供知识服务,这是我们团队的荣幸和骄傲。 然而,在目前越来越严峻的经营挑战下,单纯依靠不断增加广告位来维持网站运营支出,必然会越来越影响您的使用体验,这也与我们的初衷背道而驰。 因此,经过审慎地考虑,我们决定推出VIP会员收费制度,以便为您提供更好的服务和更优质的内容。 MBA智库百科VIP会员(9.9元 / 年,点击开通),您的权益将包括: 1、无广告阅读; 2、免验证复制。 当然,更重要的是长期以来您对百科频道的支持。诚邀您加入MBA智库百科VIP会员,共渡难关,共同见证彼此的成长和进步!
MBA智库百科项目组
2023年8月10日

闽公网安备 35020302032707号

添加收藏

    新建收藏夹

    编辑收藏夹

    20