特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學(xué)習(xí)啦>生活課堂>生活小常識>

存儲過程和事務(wù)的區(qū)別

時(shí)間: 稱紅1024 分享

  存儲過程和事務(wù)的區(qū)別想必很多人都不是很了解,一起來看看吧。下面是學(xué)習(xí)啦小編給大家整理的存儲過程和事務(wù)的區(qū)別,供大家參閱!

  存儲過程和事務(wù)的區(qū)別

  存儲過程:是SQL-Server服務(wù)器上一組預(yù)先編譯好的T-SQL語句。以一個(gè)名稱存儲在數(shù)據(jù)庫中,作為一個(gè)獨(dú)立的數(shù)據(jù)庫對象。

  有以下優(yōu)點(diǎn):

  1、執(zhí)行速度快;

  2、提高工作效率;

  3、規(guī)范程序設(shè)計(jì);

  4、提高系統(tǒng)安全性。

  事務(wù):一般是指用戶定義的一序列操作,這些操作要么全做,要么都不做,是不可分割的一個(gè)工作單位.他是一個(gè)邏輯工作單元,同時(shí)又是一個(gè)恢復(fù)單元,一個(gè)事務(wù)提交以后數(shù)據(jù)庫又處與另一個(gè)一致狀態(tài).具體的關(guān)于他的操作去找書看吧.

  事務(wù)中可以有存儲過程

  存儲過程中也可以有事務(wù)

  事務(wù)是一系列的對數(shù)據(jù)庫的操作,這些操作包括存儲過程,更改語句及其它操作。開始語句是BEGIN TRANSACTION (事務(wù)開始),結(jié)束語句有兩種,一個(gè)是ROLLBACK--回滾,一個(gè)是--commit提交事務(wù)的所有操作。

  存儲過程是實(shí)現(xiàn)一定功能的語句組成的程序段??梢园ㄊ聞?wù),也可以在某事務(wù)當(dāng)中。

  這是一個(gè)包括一個(gè)事務(wù)處理過程的存儲過程,并且在事務(wù)中也包括另一個(gè)存儲過程的操作:

  CREATTE PROCEDURE MYPROCEDURE

  AS

  BEGIN TRANSACTION--開始一個(gè)事務(wù)

  UPDATE TABLENAME SET ABC='DEF' WHERE ......--操作

  EXEC OTHERPROCEDURE '參數(shù)' --事務(wù)中包括的存儲過程

  IF @@ERROR>0--操作如果失敗

  BEGIN

  ROLLBACK TRANSACTION--回滾

  RAISERROR('更改數(shù)據(jù)失敗!',16,1)--向前臺報(bào)錯(cuò)

  RETURN--返回,不再繼續(xù)執(zhí)行

  END

  ELSE

  COMMIT TRANSACTION--操作成功,確認(rèn)所作修改

  GO

  存儲過程的優(yōu)勢

  (1) 能實(shí)現(xiàn)模塊化程序設(shè)計(jì)。存儲過程是根據(jù)實(shí)際功能的需要創(chuàng)建的一個(gè)程序模塊,并被存儲在數(shù)據(jù)庫中。以后用戶要完成該功能,只要在程序中直接調(diào)用該存儲過程即可,而無需再編寫重復(fù)的程序代碼。存儲過程可由數(shù)據(jù)庫編程方面的專門人員創(chuàng)建,并可獨(dú)立于程序源代碼而進(jìn)行修改和擴(kuò)展。

  (2) 使用存儲過程可以提高執(zhí)行效率。當(dāng)客戶程序需要訪問服務(wù)器上的數(shù)據(jù)時(shí),一般要經(jīng)過5個(gè)步驟:

  ● 查詢語句被發(fā)送到服務(wù)器;

  ● 服務(wù)器編譯T-SQL語句;

  ● 優(yōu)化產(chǎn)生查詢執(zhí)行計(jì)劃;

  ● 數(shù)據(jù)庫引擎執(zhí)行查詢;

  ● 執(zhí)行結(jié)果發(fā)回客戶程序。

  如果執(zhí)行存儲在客戶端本地的T-SQL程序,那么每次執(zhí)行該程序時(shí),對于程序中的每一條語句都要經(jīng)過以上5個(gè)步驟。而存儲過程在創(chuàng)建時(shí)就被編譯和優(yōu)化,當(dāng)存儲過程第一次被執(zhí)行時(shí),SQL Server為其產(chǎn)生查詢計(jì)劃并將其保存在內(nèi)存中,這樣以后在調(diào)用該存儲過程時(shí)就不必再進(jìn)行編譯,即以上5個(gè)步驟中的第2步和第3步就被省略了,這能大大改善系統(tǒng)的性能。

  (3) 減少網(wǎng)絡(luò)流量。一個(gè)需要數(shù)百行T-SQL代碼的操作,如果將其創(chuàng)建成存儲過程,那么使用一條調(diào)用存儲過程的語句就可完成該操作。這樣就可避免在網(wǎng)絡(luò)上發(fā)送數(shù)百行代碼,從而減少了網(wǎng)絡(luò)負(fù)荷。

  (4) 可作為安全機(jī)制使用。管理員可以不授予用戶訪問存儲過程中涉及的表的權(quán)限,而只授予執(zhí)行存儲過程的權(quán)限。這樣,既可以保證用戶通過存儲過程操縱數(shù)據(jù)庫中的數(shù)據(jù),又可以保證用戶不能直接訪問存儲過程中涉及的表。用戶通過存儲過程來訪問表,所能進(jìn)行的操作是有限制的,從而保證了表中數(shù)據(jù)的安全性。

  存儲過程的類型

  (1) 系統(tǒng)存儲過程

  在SQL Server中的許多管理工作是通過執(zhí)行系統(tǒng)存儲過程來完成的。系統(tǒng)存儲過程創(chuàng)建和保存在master數(shù)據(jù)庫中,都以sp_為名稱的前綴。系統(tǒng)存儲過程是SQL Server系統(tǒng)自帶的,具有執(zhí)行系統(tǒng)存儲過程權(quán)限的用戶,可在master數(shù)據(jù)庫之外直接調(diào)用。一般情況下,系統(tǒng)存儲過程執(zhí)行成功返回0值,若有錯(cuò)誤發(fā)生返回非0值。

  (2) 擴(kuò)展存儲過程

  擴(kuò)展存儲過程是以動態(tài)鏈接庫(dll)形式存在的外部程序。SQL Server自身帶了大量的擴(kuò)展存儲過程安裝在master數(shù)據(jù)庫中,擴(kuò)展存儲過程與普通存儲過程執(zhí)行方法相同。

  若擴(kuò)展存儲過程的前綴為sp_,則該擴(kuò)展存儲過程在master數(shù)據(jù)庫之外也可直接調(diào)用;否則,必須在擴(kuò)展存儲過程前面加上“master.dbo.”前綴。開發(fā)人員可以使用其他編程語言來創(chuàng)建擴(kuò)展存儲過程,編寫好擴(kuò)展存儲過程后,可由sysadmin服務(wù)器角色的成員在 SQL Server 中注冊該擴(kuò)展存儲過程,然后授予其他用戶執(zhí)行該過程的權(quán)限。擴(kuò)展存儲過程只能添加到 master 數(shù)據(jù)庫中,利用擴(kuò)展存儲過程可以擴(kuò)展SQL Server的功能。

  (3) 用戶存儲過程

  用戶存儲過程是由用戶根據(jù)實(shí)際問題的需要所創(chuàng)建的存儲過程。固定服務(wù)器角色sysadmin 的成員可根據(jù)實(shí)際需要在master數(shù)據(jù)庫中創(chuàng)建用戶存儲過程,若使用sp_做存儲過程的前綴,則該存儲過程在任何位置均可直接調(diào)用,否則,必須在該存儲過程前面加上“master.dbo.”前綴。對于在用戶數(shù)據(jù)庫中創(chuàng)建的存儲過程,最好不要使用sp_作為其名稱的前綴,否則如果該存儲過程與系統(tǒng)存儲過程同名,則該存儲過程永遠(yuǎn)不會被執(zhí)行。并且若在該用戶數(shù)據(jù)庫之外調(diào)用該存儲過程,也必須在存儲過程名的前面加上“用戶數(shù)據(jù)庫名.所有者名.”前綴才能找著、執(zhí)行該存儲過程。

存儲過程和事務(wù)的區(qū)別相關(guān)文章:

1.自動輸出SQLServer存儲過程依賴列表到EXCEL文件

存儲過程和事務(wù)的區(qū)別

存儲過程和事務(wù)的區(qū)別想必很多人都不是很了解,一起來看看吧。下面是學(xué)習(xí)啦小編給大家整理的存儲過程和事務(wù)的區(qū)別,供大家參閱! 存儲過程和事務(wù)的區(qū)別 存儲過程:是SQL-Server服務(wù)器上一組預(yù)先編譯好的T-SQL語句。以一個(gè)名稱存儲在數(shù)據(jù)
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • 存儲過程和函數(shù)的區(qū)別
    存儲過程和函數(shù)的區(qū)別

    存儲過程和函數(shù)的區(qū)別你想知道嗎?下面是學(xué)習(xí)啦小編給大家整理的存儲過程和函數(shù)的區(qū)別,供大家參閱! 存儲過程和函數(shù)的區(qū)別 存儲過程和函數(shù)的不同之

  • 村委會與居委會的區(qū)別
    村委會與居委會的區(qū)別

    一談到村委會與居委會的區(qū)別想必很多人都懵了,一起來看看吧。下面是學(xué)習(xí)啦小編給大家整理的村委會與居委會的區(qū)別,供大家參閱! 村委會與居委會的

  • 村淘和淘寶的區(qū)別
    村淘和淘寶的區(qū)別

    村淘和淘寶目的都是為了購物,那二者存在什么樣的區(qū)別呢?下面是學(xué)習(xí)啦小編給大家整理的村淘和淘寶的區(qū)別,供大家參閱! 村淘和淘寶的區(qū)別 村淘-全稱

  • 萃取液和原液的區(qū)別
    萃取液和原液的區(qū)別

    萃取液和原液都是液體的,那么你知道它們有什么樣的區(qū)別嗎?下面是學(xué)習(xí)啦小編給大家整理的萃取液和原液的區(qū)別,供大家參閱! 萃取液和原液的區(qū)別 萃

3630468