版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
9.1創(chuàng)建觸發(fā)器9.1.1觸發(fā)器在SQLServer中,觸發(fā)器是一種通過事件進(jìn)行觸發(fā)而被執(zhí)行的專用類型的存儲過程.
觸發(fā)器是一個功能強(qiáng)大的工具,它與表格緊密相連,在表中數(shù)據(jù)發(fā)生變化時自動強(qiáng)制執(zhí)行。9.1.2觸發(fā)器的作用觸發(fā)器的主要作用是實現(xiàn)由主鍵和外鍵所不能保證的復(fù)雜的參照完整性和數(shù)據(jù)一致性。除此之外,觸發(fā)器還有其它許多不同的功能。執(zhí)行更加復(fù)雜的約束操作。級聯(lián)更改數(shù)據(jù)庫中相關(guān)的數(shù)據(jù)表。返回自定義的錯誤信息。比較數(shù)據(jù)庫修改前后數(shù)據(jù)的狀態(tài)。維護(hù)規(guī)范化數(shù)據(jù)。9.1.3觸發(fā)器的分類
在SQLServer2005中,觸發(fā)器可以分為DML觸發(fā)器和DDL觸發(fā)器兩種類型。DDL觸發(fā)器是當(dāng)數(shù)據(jù)庫服務(wù)器中發(fā)生數(shù)據(jù)定義語言(DDL)事件時執(zhí)行的存儲過程。這些事件主要對應(yīng)于T-SQL中的CREATE、ALTER和DROP語句,以及執(zhí)行類似DDL操作的某些系統(tǒng)存儲過程。DML觸發(fā)器是當(dāng)數(shù)據(jù)庫服務(wù)器中發(fā)生數(shù)據(jù)操作語言(DML)事件時執(zhí)行的存儲過程。DML事件包括在指定表或視圖中修改數(shù)據(jù)的INSERT語句、UPDATE語句或DELETE語句。9.1.3觸發(fā)器的分類
DML觸發(fā)器又分為AFTER觸發(fā)器和INSTEADOF觸發(fā)器兩種類型。AFTER觸發(fā)器在數(shù)據(jù)變動(INSERT、UPDATE和DELETE操作)完成以后才被觸發(fā)。INSTEADOF觸發(fā)器在數(shù)據(jù)變動以前被觸發(fā),并取代變動數(shù)據(jù)的操作,而去執(zhí)行觸發(fā)器定義的操作。9.1.4使用T-SQL語句創(chuàng)建觸發(fā)器使用T-SQL語句CREATETRIGGER創(chuàng)建觸發(fā)器的基本語法格式如下:CREATETRIGGER觸發(fā)器名ON{表名|視圖名}[WITHENCRYPTION]{FOR|AFTER|INSTEADOF}{[INSERT],[UPDATE],[DELETE]}ASIFUPDATE(列名)[{AND|OR}UPDATE(列名)…]SQL語句9.1.4使用T-SQL語句創(chuàng)建觸發(fā)器其中各參數(shù)含義如下:WITHENCRYPTION:加密觸發(fā)器的文本。AFTER:指定在對數(shù)據(jù)表的相關(guān)操作之后,觸發(fā)器被觸發(fā)。INSTEADOF:指定執(zhí)行觸發(fā)器而不是執(zhí)行觸發(fā)語句,從而替代觸發(fā)語句的操作。{[INSERT],[UPDATE],[DELETE]}:指定在表或視圖上執(zhí)行哪些數(shù)據(jù)修改語句時激活觸發(fā)器的關(guān)鍵字,必須至少指定一個選項。IFUPDATE:指定對表內(nèi)某列做增加或修改內(nèi)容時,觸發(fā)器才起作用,它可以指定兩個以上列,列名前可以不加表名。SQL語句:指定觸發(fā)器執(zhí)行的條件和動作。9.1.5使用SSMS創(chuàng)建觸發(fā)器使用SQLServerManagementStudio創(chuàng)建觸發(fā)器的基本步驟演示。9.2管理與維護(hù)觸發(fā)器9.2.1查看觸發(fā)器信息觸發(fā)器被創(chuàng)建以后,它的名稱存放在系統(tǒng)表sysobjects中,它的創(chuàng)建源代碼存放在syscomments系統(tǒng)表中。(1)查看表中的觸發(fā)器信息可以使用系統(tǒng)存儲過程sp_helptrigger查看指定表中所定義的觸發(fā)器及它們的類型。(2)查看觸發(fā)器定義可以使用系統(tǒng)存儲過程sp_helptext查看指定觸發(fā)器的定義文本。9.2.1查看觸發(fā)器信息(3)查看觸發(fā)器的所有者和創(chuàng)建時間可以使用系統(tǒng)存儲過程sp_help查看觸發(fā)器的所有者和創(chuàng)建時間。9.2.2修改觸發(fā)器(1)使用SSMS修改觸發(fā)器定義使用SQLServerManagementStudio修改觸發(fā)器定義的基本步驟演示。(2)使用存儲過程sp_rename重命名觸發(fā)器使用存儲過程sp_rename重命名觸發(fā)器的語法格式為:sp_rename
原名稱,新名稱9.2.2修改觸發(fā)器(3)使用T-SQL語句修改觸發(fā)器正文使用T-SQL語句ALTERTRIGGER可以修改觸發(fā)器,具體語法形式如下:ALTERTRIGGER觸發(fā)器名ON{表名|視圖名}[WITHENCRYPTION]{FOR|AFTER|INSTEADOF}{[INSERT],[UPDATE],[DELETE]}ASIFUPDATE(列名)[{AND|OR}UPDATE(列名)…]SQL語句9.2.3刪除觸發(fā)器(1)使用SQL語句的DROPTRIGGER刪除指定的觸發(fā)器,其語法格式為:DROPTRIGGER觸發(fā)器名(2)刪除觸發(fā)器所在的表時,SQLServer將自動刪除與該表相關(guān)的觸發(fā)器。(3)在“對象資源管理器”中右鍵單擊需要刪除的觸發(fā)器名稱,在彈出的菜單中選擇“刪除”命令即可。9.2.4禁止和啟用觸發(fā)器使用T-SQL語句禁止和啟用觸發(fā)器的基本語法如下:ALTERTABLE表名{ENABLE|DISABLE}TRIGGER{ALL|觸發(fā)器名[,…n]}其中:ENABLE:啟用觸發(fā)器。DISABLE:禁止觸發(fā)器。ALL:指定啟用或禁止表中所有的觸發(fā)器。9.3了解事務(wù)9.3.1事務(wù)事務(wù)是由一系列的數(shù)據(jù)查詢操作或更新操作構(gòu)成,可以看作單個處理單元。如果某一事務(wù)執(zhí)行,則在該事務(wù)中的所有操作均會執(zhí)行,記錄在數(shù)據(jù)庫中,成為持久的組成部分。如果遇到問題,則必須全部取消或回滾,所有處理均被清除。9.3.2事務(wù)的特征原子性:事務(wù)必須是原子工作單元,對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全部不執(zhí)行。一致性:事務(wù)結(jié)束時,必須使所有數(shù)據(jù)處于一致性狀態(tài)。隔離性:為了提高事務(wù)的吞吐率,大多數(shù)DBMS允許同時執(zhí)行多個事務(wù),就像分時操作系統(tǒng)為了充分利用系統(tǒng)資源,同時執(zhí)行多個進(jìn)程一樣。持久性:事務(wù)完成之后,它對于系統(tǒng)的影響是永久性的,該修改即使出現(xiàn)系統(tǒng)故障也將一直保持。9.3.3事務(wù)模式(1)自動提交事務(wù):每條單獨的語句都是一個事務(wù)。(2)顯式事務(wù):每個事務(wù)均以BEGINTRANSACTION語句顯式開始,以COMMIT或ROLLBACK語句顯式結(jié)束。(3)隱式事務(wù):在前一個事務(wù)完成時新事務(wù)隱式啟動,但每個事務(wù)仍以COMMIT或ROLLBACK語句顯式完成。(4)批處理級事務(wù):只能應(yīng)用于多個活動結(jié)果集(MARS),在MARS會話中啟動的T-SQL顯式或隱式事務(wù)變?yōu)榕幚砑壥聞?wù)。當(dāng)批處理完成時沒有提交或回滾的批處理級事務(wù)自動由SQLServer進(jìn)行回滾。9.3.4自動事務(wù)自動事務(wù)模式為系統(tǒng)默認(rèn)的事務(wù)管理模式。在自動事務(wù)模式下,每個T-SQL語句在成功執(zhí)行完成后,都被自動提交。如果遇到錯誤,則自動回滾該語句。9.3.5顯式事務(wù)顯式事務(wù)由用戶在其中定義事務(wù)的啟動和結(jié)束。(1)建立事務(wù)建立事務(wù)的基本語法格式如下:BEGINTRANSACTION[事務(wù)名]該語句標(biāo)記一個顯式本地事務(wù)的起始點。9.3.5顯式事務(wù)(2)提交事務(wù)提交事務(wù)的基本語法格式如下:COMMITTRANSACTION[事務(wù)名]該語句標(biāo)志一個成功的顯式事務(wù)(或隱式事務(wù))的完成。(3)回滾事務(wù)回滾事務(wù)的基本語法格式如下:ROLLBACKTRANSACTION
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年跨境電商物流解決方案合作協(xié)議
- 二零二五年度勞動合同安全風(fēng)險管理與應(yīng)急響應(yīng)合同3篇
- 突破傳統(tǒng)教育教學(xué)模式-伍家實小秋季學(xué)期政教工作回顧
- 二零二五年度城市照明電纜橋架采購與安裝合同3篇
- 保衛(wèi)部危險品復(fù)習(xí)測試有答案
- 2025年青海建筑安全員考試題庫及答案
- 2025屆高考語文復(fù)習(xí):信息類文本五大類型的主觀題 課件
- 2024版多個人股權(quán)轉(zhuǎn)讓簡單協(xié)議書
- 滬教版小學(xué)數(shù)學(xué)三(下)教案
- 2025青海省建筑安全員A證考試題庫附答案
- 單證管理崗工作總結(jié)與計劃
- 規(guī)劃設(shè)計收費標(biāo)準(zhǔn)
- 安全安全隱患整改通知單及回復(fù)
- 國有檢驗檢測機(jī)構(gòu)員工激勵模式探索
- 采購部年終總結(jié)計劃PPT模板
- CDI-EM60系列變頻調(diào)速器使用說明書
- 【匯總】高二政治選擇性必修三(統(tǒng)編版) 重點知識點匯總
- 材料表面與界面考試必備
- 焦點CMS用戶手冊
- 丙酮-水連續(xù)精餾塔的設(shè)計
評論
0/150
提交評論