




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Trigger And Transaction觸發(fā)器觸發(fā)器與事務(wù)與事務(wù)學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)了解觸發(fā)器的種類和功能掌握DML觸發(fā)器(after)的創(chuàng)建、修改和刪除了解DDL觸發(fā)器掌握事務(wù)的概念及應(yīng)用觸發(fā)器的概念觸發(fā)器的概念觸發(fā)器是一類特殊的存儲過程,被定義為在對表或視圖發(fā)出 UPDATE、INSERT 或 DELETE 語句時自動執(zhí)行。觸發(fā)器是與表緊密相連,是與某個表關(guān)聯(lián)的。也就是說,如果在這個表上發(fā)生了UPDATE、INSERT 或 DELETE 操作,就會觸發(fā)相應(yīng)的觸發(fā)器進(jìn)行工作。觸發(fā)器的分類觸發(fā)器的分類在SQL Server 2005中,觸發(fā)器可以分為兩大類:DML觸發(fā)器q After觸發(fā)器:
2、After觸發(fā)器是在記錄更變完之后才被激活執(zhí)行的 q Instead Of觸發(fā)器:Instead Of觸發(fā)器是在INSERT、UPDATE和DELETE操作進(jìn)行之前就激活,并且不再去執(zhí)行原來的SQL操作,而去運行觸發(fā)器本身的SQL語句(即替換)DDL觸發(fā)器注: after 和 instead of 兩種類型的觸發(fā)器是從觸發(fā)觸發(fā)器的語句完成與否的角度區(qū)分After : 只能用于表,功能側(cè)重于表的DMLInstead Of : 可用于表或視圖創(chuàng)建創(chuàng)建DML觸發(fā)器觸發(fā)器 SQL Server 2005 使用CREATE TRIGGER 創(chuàng)建觸發(fā)器,其語法如下:CREATE TRIGGER . ON
3、Schema_Name. ( FOR | AFTER | INSTEAD OF ) ASBEGINENDGO注: for 和 after 的功能一致,常用after關(guān)鍵字 Inserted和和deleted表表觸發(fā)器語句中使用了兩種特殊的表:deleted 表和 inserted 表。這兩張表存儲在內(nèi)存高速緩存中的臨時表,SQL Server 自動創(chuàng)建和管理這兩個表。只有在觸發(fā)器中才可以使用這兩個表,且不能直接對表中的數(shù)據(jù)進(jìn)行更改。DML操作與操作與Inserted、deleted表表insertupdatedeleteinserted放置新值放置無deleted無舊值放置放置CREATE T
4、RIGGER 示例二示例二CREATE TRIGGER reminderON authorsafter UPDATE AS DECLARE old_lname varchar(20), new_lname varchar(20)SELECT old_lname = au_lname FROM deleted SELECT new_lname = au_lname FROM insertedPRINT old lname is: + old_lname + ,new lname is: + new_lname創(chuàng)建一個觸發(fā)器,當(dāng)authors表的數(shù)據(jù)被修改時,查詢出修改之前的作者姓氏,以及修改之后
5、的作者姓氏,并且打印出來。修改修改DML觸發(fā)器觸發(fā)器 SQL Server 2005 使用ALTER TRIGGER 修改觸發(fā)器,其語法如下: ALTER TRIGGER schema_name.trigger_name ON ( table | view ) ( FOR | AFTER | INSTEAD OF ) DELETE , INSERT , UPDATE AS sql_statement ; .n | EXTERNAL NAME ; GO刪除刪除DML觸發(fā)器觸發(fā)器 SQL Server 2005 使用DROP TRIGGER 刪除觸發(fā)器,其語法如下:DROP TRIGGER sch
6、ema_name.trigger_name ,.n ; 注意:注意:v如果一個數(shù)據(jù)表被刪除,那么SQL Server會自動將與該表相關(guān)的觸發(fā)器刪除。 禁用和啟用禁用和啟用 DML觸發(fā)器觸發(fā)器 禁用觸發(fā)器與刪除觸發(fā)器不同,禁用觸發(fā)器時,仍會為數(shù)據(jù)表定義該觸發(fā)器,只是在執(zhí)行INSERT、UPDATE或DELETE語句時,除非重新啟用觸發(fā)器,否則不會執(zhí)行觸發(fā)器中的操作。 SQL Server 2005 使用DISABLE可以禁用DISABLE觸發(fā)器,用ENABLE可以啟用觸發(fā)器。 其語法如下:ALTER TABLE tablenameDISABLE | ENABLE TRIGGER trigger_
7、name or ALL創(chuàng)建創(chuàng)建DDL觸發(fā)器觸發(fā)器 與DML觸發(fā)器一樣,DDL觸發(fā)器也是通過事件來激活,并執(zhí)行其中的SQL語句的。不同的是DDL觸發(fā)器是響應(yīng)CREATE、ALTER或DROP開頭的語句而激活的,并且不再有instead of 的觸發(fā)方式了按作用的不同對象又可分為兩種:1) 針對服務(wù)器方式2) 針對數(shù)據(jù)庫方式 建立DDL觸發(fā)器的語法代碼如下:CREATE TRIGGER trigger_name ON ALL SERVER | DATABASE WITH ,.n FOR | AFTER event_type | event_group ,.n AS sql_statement ;
8、.n | EXTERNAL NAME ; 事事 務(wù)務(wù) 概概 述述什么是事務(wù)q 事務(wù)是一系列的任務(wù)組成的邏輯工作單元,這個邏輯單元中的所有任務(wù)必須作為一個整體要么全都完成要么全都失敗。事務(wù)的特性(ACID)q 原子性 -A (Atomicity) q 一致性 -C (Consistency) q 隔離性 -I (Isolation)q 持久性 -D (Durability) 編編 寫寫 事事 務(wù)務(wù) 事務(wù)是以“BEGIN TRAN” 語句開始,以“COMMIT TRAN”或“ROLLBACK TRAN” 語句結(jié)束,之間通常會有多個T-SQL語句。編寫事務(wù)時要遵守以下原則:事務(wù)要盡可能簡短在事務(wù)中訪問的數(shù)據(jù)量要盡量最少瀏覽數(shù)據(jù)時盡量不要打開事務(wù)在事務(wù)處理期間盡量不要請求用戶輸入小小 結(jié)結(jié)使用存儲過程sp_addtype可以創(chuàng)建用戶定義數(shù)據(jù)類型,使用CREATE FUNCTION語句可以創(chuàng)建用戶定義函數(shù)。使用DROP TYPE語句可以刪除用戶定義數(shù)據(jù)類型,使
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制作生意合同范本
- 2025年天津年貨運從業(yè)資格證模擬考試
- 買裝修材料合同范本
- 與機(jī)關(guān)單位合作合同范例
- 村級修橋合同范本
- 產(chǎn)品研發(fā)定制合同范本
- 信息咨詢收費合同范本
- 伙合合同范本
- 勞動合同范本 銀川
- 代理注冊服務(wù)合同范本
- 《火力發(fā)電廠水處理技術(shù)概述》課件
- 春節(jié)后復(fù)工安全培訓(xùn)課件
- 全國電子工業(yè)版初中信息技術(shù)第二冊第2單元2.1活動3《使用云盤備份數(shù)據(jù)》教學(xué)設(shè)計
- 3.1產(chǎn)業(yè)轉(zhuǎn)移對區(qū)域發(fā)展的影響(第1課時) 【知識精研】高二地理課件(湘教版2019選擇性必修2)
- 2025年醫(yī)院實習(xí)協(xié)議書樣本
- 2025年湖南工程職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 招標(biāo)代理服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 財務(wù)人員防騙技巧培訓(xùn)課件
- 2024年云南中煙工業(yè)有限責(zé)任公司招聘筆試真題
- 2024年山東輕工職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年哈爾濱電力職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
評論
0/150
提交評論