999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SQL Server中存儲過程技術的研究

2014-10-21 20:09:34楊銘
科技視界 2014年34期
關鍵詞:數據庫用戶系統

楊銘

1 存儲過程的概念

當開發一個應用程序時,為了易于修改和擴充,經常會將負責不同功能的語句集中起來而且按照用途分別獨立放置,以便能夠反復調用,而這些獨立放置且擁有不同功能的語句,即是“過程”(Procedure)。存儲過程包含一些Transact-SQL語句并以特定的名稱存儲在數據庫中(存儲過程也是一種數據庫對象)。存儲過程中可以聲明變量、有條件地執行以及其他各項強大的程序設計功能。

2 存儲過程的分類

2.1 系統存儲過程

系統存儲過程(System Stored Procedures)主要存儲在master數據庫中,并以sp_為前綴,并且系統存儲過程主要是從系統表中獲取信息。通過系統存儲過程,許多管理性或信息性的活動(如了解數庫對象、數據庫信息)都可以被有效地完成。盡管這些系統存儲過程被存儲在master數據庫中,但是仍可以在其他數據庫中對其進行調用。當創建一個數據庫時,一些系統存儲過程會在新的數據庫中被自動創建。

系統存儲過程所能完成的操作多達千百項。例如,提供幫助的系統存儲過程有sp_helpsql顯示關于SQL語句、存儲過程和其他主題的信息;sp_help提供關于存儲過程或其他數據庫對象的報告;sp_helptext顯示存儲過程和其他對象的文本;sp_depends列舉引用或依賴指定對象的所有存儲過程。事實上,在前面的學習中就已使用道不少的系統存儲過程,例如,sp_tables取得數據庫中關于表和視圖的相關信息;sp_renamedb更改數據庫的名稱等。

當系統存儲過程的參數是保留字或對象名,且對象名由數據庫或擁有者名字限定時,整個名字必須包含在單引號中。一個用戶可以在所有數據庫中執行一個系統存儲過程的許可權,否則在任何數據庫中都不能執行系統存儲過程。

2.2 本地存儲過程

本地存儲過程(Local Stored Procedures)也就是用戶自行創建并存儲在用戶數據庫中的存儲過程。事實上一般所說的存儲過程指的就是本地存儲過程。

用戶創建的存儲過程是由用戶創建并能完成某一特定功能(如查詢用戶所需的數據信息)的存儲過程。

2.3 臨時存儲過程

臨時存儲過程(Temporary Stored Procedures)可分為以下兩種:

2.3.1 本地臨時存儲過程

不論哪一個數據庫是當前數據庫,如果在創建存儲過程時,以井字號(#)作為其名稱的第一個字符,則該存儲過程將成為一個存放在tempdb數據庫中的本地臨時存儲過程(例如,CREATE ?PROCEDURE #book_proc …)。本地臨時存儲過程只有創建它的連接的用戶才能夠執行它,而且一旦這位用戶斷開與SQL Server的連接(也就是注銷SQL Server 2005),本地臨時存儲過程就會自動刪除,當然,這位用戶也可以在連接期間用DROP PROCEDURE命令刪除他所創建的本地臨時存儲過程。

2.3.2 全局臨時存儲過程

不論哪一個數據庫是當前數據庫,只要所創建的存儲過程名稱是以兩個井字號(##)開始,則該存儲過程將成為一個存儲在tempdb數據庫中的全局臨時存儲過程。全局臨時存儲過程一旦創建,以后連接到數據庫的任意用戶都能執行它,而且不需要特定的權限。因此,必須注意其名稱不能和其他連接所采用的名稱相同。

不論創建的是本地臨時存儲過程還是全局臨時存儲過程,只要服務器管理平臺停止運行,它們將不復存在。

2.4 遠程存儲過程

遠程存儲過程(Remote Stored Procedures)是位于遠程服務器上的存儲過程,通常可以使用分布式查詢和EXECUTE命令執行一個遠程存儲過程。

2.5 擴展存儲過程

擴展存儲過程(Extended Stored Procedures)是用戶可以使用外部程序語言編寫的存儲過程。為了區別,擴展存儲過程的名稱通常以xp_開頭。擴展存儲過程是以動態鏈接庫(DLLS)的形式存在,它要存儲在系統數據庫master中。

3 存儲過程的運行方式

(1)能夠包含執行各種數據庫操作的語句,并且可以調用其他的存儲過程。

(2)能夠接受輸入參數,并以輸出參數的形式將多個數據值返回給調用程序(Calling Procedure)或批處理(Batch)。

(3)向調用程序或批處理返回一個狀態值,以表明成功或失敗(以及失敗的原因)。

(4)存儲過程(Stored Procedures)是一組為完成特定功能的SQL語句集,經編譯后存儲在數據庫中。用戶通過指定存儲過程的名字給出參數(如果該存儲過程帶有參數)來執行它。

4 存儲過程的優點

(1)通過本地存儲、代碼預編譯和緩存技術實現高性能的數據操作。

(2)通過通用編程結構和過程實現編程框架。如果業務規則發生變化,可以通過修改存儲過程來適應新的業務規則,而不必修改客戶端的應用程序。這樣所有調用該存儲過程的應用程序就會遵循新的業務規則。

(3)通過隔離和加密的方法提高數據庫的安全性。數據庠用戶可以通過得到權限來執行存儲過程,而不必給予用戶直接訪問數據庫對象的權限。這些對象將由存儲過程來執行操作,另外,存儲過程可以加密,這樣用戶就無法閱讀存儲過程中的Transact-SQL語句。

【參考文獻】

[1]夏慧,李響,齊泉.存儲過程在復雜的數據統計查詢中的應用[J].醫學信息, 2009(08).

[2]曾毅,王玉萍.SQL Server數據庫中存儲過程的實現[J].科技信息·科學教研, 2008(25).

[3]鄢愛蘭,鹿江春.數據庫存儲過程應用研究[J].南華大學學報:自然科學版, 2006(02).

[責任編輯:楊玉潔]

猜你喜歡
數據庫用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 尤物成AV人片在线观看| 69精品在线观看| 亚洲大尺码专区影院| 三级视频中文字幕| 亚洲高清资源| 最新加勒比隔壁人妻| 亚洲中文字幕无码mv| 亚洲天堂网在线观看视频| 四虎永久在线视频| 国产偷倩视频| 在线无码私拍| 亚洲三级片在线看| 狠狠做深爱婷婷久久一区| 中文字幕色在线| 九九久久精品免费观看| 麻豆精品在线视频| 国产高潮视频在线观看| 国产色网站| 色成人亚洲| 免费国产黄线在线观看| 99热这里都是国产精品| 久久99热66这里只有精品一| 国产成人精品在线| 天天躁狠狠躁| 国产人成网线在线播放va| 色综合成人| 欧美精品不卡| 久久综合丝袜长腿丝袜| 在线观看国产精美视频| 亚洲精品制服丝袜二区| 黄色福利在线| 在线国产毛片手机小视频| 国产精品亚洲一区二区三区在线观看| 国产三级韩国三级理| 日本手机在线视频| 免费观看亚洲人成网站| 久久亚洲国产最新网站| 免费va国产在线观看| www.99在线观看| 亚洲三级片在线看| 日本影院一区| 热99re99首页精品亚洲五月天| 国产夜色视频| 国产成人精品日本亚洲77美色| 婷婷色丁香综合激情| 亚洲天堂网站在线| 亚洲天堂免费在线视频| 美女一级毛片无遮挡内谢| 日韩欧美在线观看| 久久黄色视频影| 国产精品网址在线观看你懂的| 日韩国产综合精选| 91成人免费观看在线观看| 色悠久久久| 久久国语对白| 国产亚洲男人的天堂在线观看| 亚洲大尺度在线| 日韩精品中文字幕一区三区| 又黄又湿又爽的视频| 国产久操视频| 日本三区视频| 欧美一区中文字幕| 青青青视频免费一区二区| 欧美伦理一区| 91原创视频在线| 麻豆国产原创视频在线播放| 成年午夜精品久久精品| 日韩精品亚洲一区中文字幕| 蜜臀AVWWW国产天堂| 亚洲综合18p| 99精品免费欧美成人小视频 | 四虎影视国产精品| 欧美成人区| 亚洲伊人久久精品影院| 欧美精品v日韩精品v国产精品| 好紧好深好大乳无码中文字幕| 国产a在视频线精品视频下载| 亚洲一区波多野结衣二区三区| 精品综合久久久久久97| 久久免费精品琪琪| 久久国产精品波多野结衣| 韩国福利一区|