




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
DML觸發(fā)器的原理觸發(fā)器中的兩張?zhí)厥獗碓趫?zhí)行觸發(fā)器的過程中會(huì)產(chǎn)生兩張臨時(shí)表INSERTED和DELETED,這兩張表的作用簡單說就是拿來記錄數(shù)據(jù)的,我們可以在觸發(fā)器執(zhí)行過程中更好的對數(shù)據(jù)進(jìn)行操作DELETED表存儲(chǔ)DELETE和UPDATE語句所影響的行的副本。INSERTED表存儲(chǔ)INSERT和UPDATE語句所影響的行的副本。觸發(fā)器的工作原理對表執(zhí)行INSERT和UPDATE操作時(shí)都會(huì)在臨時(shí)表INSERTED中拷貝一份所增加的數(shù)據(jù)。對表執(zhí)行DELETE和UPDATE操作時(shí)都會(huì)在臨時(shí)表DELETED中拷貝一份所刪除的數(shù)據(jù)對表執(zhí)行UPDATE操作時(shí),首先把UPDATE前的數(shù)據(jù)DELETE到DELETED臨時(shí)表中,然后再把所要更新的數(shù)據(jù)插入表中,最后把更新后的數(shù)據(jù)拷貝到INSERTED臨時(shí)表中觸發(fā)器的工作原理這兩張表是在用戶執(zhí)行數(shù)據(jù)的增、刪、改操作時(shí),由SQLSERVER自動(dòng)創(chuàng)建和管理,駐留在內(nèi)存。這兩張表結(jié)構(gòu)與觸發(fā)器作用的表的結(jié)構(gòu)相同,并且只可以被觸發(fā)器使用。觸發(fā)器結(jié)束時(shí),系統(tǒng)自動(dòng)釋放這兩個(gè)表的空間。在觸發(fā)器中可以對這兩張表查詢,但不可直接對這兩張表中的數(shù)據(jù)進(jìn)行更改。觸發(fā)器的工作原理激活觸發(fā)器的事件Inserted表Deleted表Insert存放要插入的記錄
Update存放要更新的記錄存放更新前的舊記錄Delete
存放要?jiǎng)h除的舊記錄插入/刪除表的功能觸發(fā)器的工作原理使用觸發(fā)器的最終目標(biāo)是為了更好地維護(hù)企業(yè)的業(yè)務(wù)規(guī)則,實(shí)現(xiàn)由主鍵和外鍵所不能保證的復(fù)雜參照完整性和數(shù)據(jù)一致性。除此以外,使用觸發(fā)器還有以下的一些功能:1.可以強(qiáng)化約束觸發(fā)器可以強(qiáng)制比CHCEK約束更復(fù)雜的數(shù)據(jù)完整性。在CHECK約束中不允許引用其他表中的列來完成檢查工作,而觸發(fā)器則可以引用其他表中的列來完成數(shù)據(jù)完整性的約束。2.可以實(shí)現(xiàn)數(shù)據(jù)庫中多張表的級聯(lián)運(yùn)行觸發(fā)器可以偵測數(shù)據(jù)庫內(nèi)的操作,并自動(dòng)地級聯(lián)整個(gè)數(shù)據(jù)庫的各項(xiàng)內(nèi)容。觸發(fā)器的作用3.可以跟蹤數(shù)據(jù)變化觸發(fā)器可以跟蹤數(shù)據(jù)庫內(nèi)的操作,用戶可在觸發(fā)器中引用由于修改所影響的記錄行,當(dāng)數(shù)據(jù)庫發(fā)生了未經(jīng)許可的更新和變化時(shí),撤銷或者回滾操作使數(shù)據(jù)庫修改、更新操作更安全,數(shù)據(jù)庫運(yùn)行更穩(wěn)定。4.使用自定義的錯(cuò)誤信息
用戶有時(shí)需要在數(shù)據(jù)完整性遭到破壞或其他情況下,發(fā)出預(yù)先自定義好的錯(cuò)誤信息或動(dòng)態(tài)自定義的錯(cuò)誤信息5.可以調(diào)用存儲(chǔ)過程觸發(fā)器操作可以通過調(diào)用一個(gè)或多個(gè)存儲(chǔ)過程,甚至可以通過調(diào)用外部過程完成相應(yīng)的操作。觸發(fā)器的作用
觸發(fā)器定義在指定的表上,這個(gè)表稱為觸發(fā)器表。
它是在操作有效后才執(zhí)行的,即其他約束優(yōu)先于觸發(fā)器
它與存儲(chǔ)過程的不同之處在于存儲(chǔ)過程可以由用戶直接調(diào)用,而觸發(fā)器不能被直接調(diào)用,是由操縱事件觸發(fā)的
一個(gè)表可以有多個(gè)觸發(fā)器,在不同表上同一種類型的觸發(fā)器也可以有多個(gè)觸發(fā)器允許嵌套,最多為32層是操縱事務(wù)的一部分可以將觸發(fā)器和觸發(fā)它的語句作為可在觸發(fā)器內(nèi)回滾的單個(gè)事務(wù)對待。觸發(fā)器的特點(diǎn)After觸發(fā)器只能用于數(shù)據(jù)表中,InsteadOf觸發(fā)器可以用于數(shù)據(jù)表和視圖上,但兩種觸發(fā)器都不可以建立在臨時(shí)表上。一個(gè)數(shù)據(jù)表可以有多個(gè)觸發(fā)器,但是一個(gè)觸發(fā)器只能對應(yīng)一個(gè)表。在同一個(gè)數(shù)據(jù)表中,對每個(gè)事件(如Insert、Update、Delete)而言可以建立許多個(gè)After觸發(fā)器,但I(xiàn)nsteadOf觸發(fā)器針對每個(gè)操作只有建立一個(gè)。如果針對某個(gè)操作即設(shè)置了After觸發(fā)器又設(shè)置了InsteadOf觸發(fā)器,那么Insteadof觸發(fā)器一定會(huì)激活,而After觸發(fā)器就不一定會(huì)激活了。觸發(fā)器的注意事項(xiàng)TruncateTable語句雖然類似于Delete語句可以刪除記錄,但是它不能激活Delete類型的觸發(fā)器。因?yàn)門runcateTable語句是不記入日志的。WRITETEXT語句不能觸發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年計(jì)算機(jī)二級考試回答技巧試題及答案
- 2024年5月深海潛水心理壓力閾值測定與裝備失效應(yīng)急推演
- 2024年投資咨詢測試題及答案總結(jié)
- 天使的微笑護(hù)理讀書筆記
- 2024監(jiān)理工程師考試獨(dú)特挑戰(zhàn)試題及答案
- 2024人力資源管理師考試高頻試題及答案
- 黑龍江民族職業(yè)學(xué)院《文學(xué)文本細(xì)讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 黑龍江省伊春市南岔區(qū)伊春二中2024-2025學(xué)年高三下期第二次月考語文試題含解析
- 黑龍江省哈爾濱市依蘭縣2024-2025學(xué)年初三下期末物理試題(一模)質(zhì)量監(jiān)控試卷含解析
- 黑龍江省哈爾濱市第九中學(xué)2025年高三第二學(xué)期二模考試英語試題含解析
- 工程機(jī)械設(shè)計(jì)-陳海虹課件第6章-制動(dòng)系
- MT/T 323-1993中雙鏈刮板輸送機(jī)用刮板
- GB 40165-2021固定式電子設(shè)備用鋰離子電池和電池組安全技術(shù)規(guī)范
- 北信源終端安全登錄與文件保護(hù)系統(tǒng)用戶使用手冊
- 工程質(zhì)保期滿驗(yàn)收報(bào)告模板
- 滬科版初中物理:實(shí)驗(yàn)匯總
- 召回產(chǎn)品處理記錄表
- SAP的聯(lián)產(chǎn)品和副產(chǎn)品
- 2023年高考熱點(diǎn)作文素材:20個(gè)人物素材及作文運(yùn)用段落
- 《藝術(shù)學(xué)概論考研》課件藝術(shù)創(chuàng)作論
- 上海大學(xué)431金融綜合真題收集
評論
0/150
提交評論