學(xué)習(xí)SQL數(shù)據(jù)庫(kù)有哪些方法?
導(dǎo)讀:相對(duì)于其他的數(shù)據(jù)庫(kù)訪問(wèn)方法,SQL存儲(chǔ)過(guò)程有許多的優(yōu)點(diǎn),下面就由北大青鳥(niǎo)翔天信鴿的專業(yè)老師為大家全面分析SQL存儲(chǔ)過(guò)程的優(yōu)勢(shì)及使用,以供SQL數(shù)據(jù)庫(kù)學(xué)習(xí)者參考學(xué)習(xí)。
學(xué)習(xí)SQL數(shù)據(jù)庫(kù),SQL存儲(chǔ)過(guò)程是大家都會(huì)面臨的方面,SQL Server的存儲(chǔ)過(guò)程是一個(gè)被命名的存儲(chǔ)在服務(wù)器上的Transacation-SQL語(yǔ)句集合,是封裝重復(fù)性工作的一種方法,它支持用戶聲明的變量、條件執(zhí)行和其他強(qiáng)大的編程功能。
一、SQL存儲(chǔ)過(guò)程的優(yōu)點(diǎn)
SQL存儲(chǔ)過(guò)程相對(duì)于其他的數(shù)據(jù)庫(kù)訪問(wèn)方法有以下的優(yōu)點(diǎn):
1.SQL存儲(chǔ)過(guò)程能夠重復(fù)使用。
SQL存儲(chǔ)過(guò)程可以重復(fù)使用,從而可以減少數(shù)據(jù)庫(kù)開(kāi)發(fā)人員的工作量。
2.SQL存儲(chǔ)過(guò)程的性能更好。
SQL存儲(chǔ)過(guò)程在創(chuàng)建的時(shí)候就進(jìn)行了編譯,將來(lái)使用的時(shí)候不用再重新編譯。一般的SQL語(yǔ)句每執(zhí)行一次就需要編譯一次,所以使用SQL存儲(chǔ)過(guò)程提高了效率。
3.SQL存儲(chǔ)過(guò)程減少網(wǎng)絡(luò)流量。
SQL存儲(chǔ)過(guò)程位于服務(wù)器上,調(diào)用的時(shí)候只需要傳遞SQL存儲(chǔ)過(guò)程的名稱以及參數(shù)就可以了,因此降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量。
4.SQL存儲(chǔ)過(guò)程的安全性更高。
參數(shù)化的SQL存儲(chǔ)過(guò)程可以防止SQL注入式的攻擊,而且可以將Grant、Deny以及Revoke權(quán)限應(yīng)用于存儲(chǔ)過(guò)程。
二、SQL存儲(chǔ)過(guò)程的分類
SQL存儲(chǔ)過(guò)程一共分為了三類:用戶定義的存儲(chǔ)過(guò)程、擴(kuò)展存儲(chǔ)過(guò)程以及系統(tǒng)存儲(chǔ)過(guò)程。
1.用戶定義的SQL存儲(chǔ)過(guò)程
用戶定義的SQL存儲(chǔ)過(guò)程又分為Transaction-SQL和CLR兩種類型。
Transaction-SQL 存儲(chǔ)過(guò)程是指保存的Transaction-SQL語(yǔ)句集合,可以接受和返回用戶提供的參數(shù)。
CLR存儲(chǔ)過(guò)程是指對(duì).Net Framework公共語(yǔ)言運(yùn)行時(shí)(CLR)方法的引用,可以接受和返回用戶提供的參數(shù)。他們?cè)?net Framework程序集中是作為類的公共靜態(tài)方法實(shí)現(xiàn)的。
2.擴(kuò)展存儲(chǔ)過(guò)程
擴(kuò)展存儲(chǔ)過(guò)程是以C語(yǔ)言等編寫(xiě)的外部程序,以動(dòng)態(tài)鏈接庫(kù)(Dll)形式存儲(chǔ)在服務(wù)器上,SQL Server可以動(dòng)態(tài)裝載并執(zhí)行它們。編寫(xiě)好擴(kuò)展存儲(chǔ)過(guò)程后,固定服務(wù)器角色(sysadamin)成員即可在SQL Server服務(wù)器上注冊(cè)該擴(kuò)展存儲(chǔ)過(guò)程,并將它們的執(zhí)行權(quán)限授權(quán)其他用戶。擴(kuò)展存儲(chǔ)過(guò)程只能添加到Master數(shù)據(jù)庫(kù)。
3.系統(tǒng)存儲(chǔ)過(guò)程
系統(tǒng)存儲(chǔ)過(guò)程就是系統(tǒng)創(chuàng)建的存儲(chǔ)過(guò)程,目的在于能夠方便地從系統(tǒng)表中查詢信息或完成與更新數(shù)據(jù)庫(kù)表相關(guān)的管理任務(wù)或其它的系統(tǒng)管理任務(wù)。
系統(tǒng)過(guò)程以“sp”為開(kāi)頭,在Master數(shù)據(jù)庫(kù)中創(chuàng)建并保存在該數(shù)據(jù)庫(kù)中,為數(shù)據(jù)庫(kù)管理者所有。一些系統(tǒng)過(guò)程只能由系統(tǒng)管理員使用,而有些系統(tǒng)過(guò)程通過(guò)授權(quán)可以被其它用戶所使用。
文章由鄭州北大青鳥(niǎo)整理,轉(zhuǎn)載請(qǐng)注明:http:// 【咨詢請(qǐng)點(diǎn)擊】
本文由站河南北大青鳥(niǎo)校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問(wèn)題,可以對(duì)在線咨詢老師進(jìn)行一對(duì)一問(wèn)答!
推薦資訊
- 北大青鳥(niǎo)翔天信鴿:讓你唱出“好... 2012-10-13
- 鄭州北大青鳥(niǎo)就業(yè)明星王國(guó)棟感言... 2012-10-13
- 現(xiàn)在Java專業(yè)技能培訓(xùn)就業(yè)怎么樣... 2015-08-31
- 鄭州北大青鳥(niǎo)校區(qū):簡(jiǎn)歷要簡(jiǎn)面試... 2012-10-13
- 北大青鳥(niǎo)是什么學(xué)校呢?... 2023-07-24
熱點(diǎn)資訊
- 學(xué)習(xí)SQL數(shù)據(jù)庫(kù)有哪些方法?... 2018-09-07
- 河南IT培訓(xùn):SQLSERVER2000T-SQL的... 2018-09-07
- 使用access數(shù)據(jù)庫(kù)有哪些好處呢?... 2018-09-07
- 網(wǎng)站數(shù)據(jù)庫(kù)老是被入侵該怎么辦?... 2018-09-07
- 半小時(shí)讓你快速M(fèi)ySQL 入門... 2018-09-07