




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
DML觸發(fā)器的原理觸發(fā)器中的兩張?zhí)厥獗碓趫?zhí)行觸發(fā)器的過程中會產生兩張臨時表INSERTED和DELETED,這兩張表的作用簡單說就是拿來記錄數(shù)據(jù)的,我們可以在觸發(fā)器執(zhí)行過程中更好的對數(shù)據(jù)進行操作DELETED表存儲DELETE和UPDATE語句所影響的行的副本。INSERTED表存儲INSERT和UPDATE語句所影響的行的副本。觸發(fā)器的工作原理對表執(zhí)行INSERT和UPDATE操作時都會在臨時表INSERTED中拷貝一份所增加的數(shù)據(jù)。對表執(zhí)行DELETE和UPDATE操作時都會在臨時表DELETED中拷貝一份所刪除的數(shù)據(jù)對表執(zhí)行UPDATE操作時,首先把UPDATE前的數(shù)據(jù)DELETE到DELETED臨時表中,然后再把所要更新的數(shù)據(jù)插入表中,最后把更新后的數(shù)據(jù)拷貝到INSERTED臨時表中觸發(fā)器的工作原理這兩張表是在用戶執(zhí)行數(shù)據(jù)的增、刪、改操作時,由SQLSERVER自動創(chuàng)建和管理,駐留在內存。這兩張表結構與觸發(fā)器作用的表的結構相同,并且只可以被觸發(fā)器使用。觸發(fā)器結束時,系統(tǒng)自動釋放這兩個表的空間。在觸發(fā)器中可以對這兩張表查詢,但不可直接對這兩張表中的數(shù)據(jù)進行更改。觸發(fā)器的工作原理激活觸發(fā)器的事件Inserted表Deleted表Insert存放要插入的記錄
Update存放要更新的記錄存放更新前的舊記錄Delete
存放要刪除的舊記錄插入/刪除表的功能觸發(fā)器的工作原理使用觸發(fā)器的最終目標是為了更好地維護企業(yè)的業(yè)務規(guī)則,實現(xiàn)由主鍵和外鍵所不能保證的復雜參照完整性和數(shù)據(jù)一致性。除此以外,使用觸發(fā)器還有以下的一些功能:1.可以強化約束觸發(fā)器可以強制比CHCEK約束更復雜的數(shù)據(jù)完整性。在CHECK約束中不允許引用其他表中的列來完成檢查工作,而觸發(fā)器則可以引用其他表中的列來完成數(shù)據(jù)完整性的約束。2.可以實現(xiàn)數(shù)據(jù)庫中多張表的級聯(lián)運行觸發(fā)器可以偵測數(shù)據(jù)庫內的操作,并自動地級聯(lián)整個數(shù)據(jù)庫的各項內容。觸發(fā)器的作用3.可以跟蹤數(shù)據(jù)變化觸發(fā)器可以跟蹤數(shù)據(jù)庫內的操作,用戶可在觸發(fā)器中引用由于修改所影響的記錄行,當數(shù)據(jù)庫發(fā)生了未經許可的更新和變化時,撤銷或者回滾操作使數(shù)據(jù)庫修改、更新操作更安全,數(shù)據(jù)庫運行更穩(wěn)定。4.使用自定義的錯誤信息
用戶有時需要在數(shù)據(jù)完整性遭到破壞或其他情況下,發(fā)出預先自定義好的錯誤信息或動態(tài)自定義的錯誤信息5.可以調用存儲過程觸發(fā)器操作可以通過調用一個或多個存儲過程,甚至可以通過調用外部過程完成相應的操作。觸發(fā)器的作用
觸發(fā)器定義在指定的表上,這個表稱為觸發(fā)器表。
它是在操作有效后才執(zhí)行的,即其他約束優(yōu)先于觸發(fā)器
它與存儲過程的不同之處在于存儲過程可以由用戶直接調用,而觸發(fā)器不能被直接調用,是由操縱事件觸發(fā)的
一個表可以有多個觸發(fā)器,在不同表上同一種類型的觸發(fā)器也可以有多個觸發(fā)器允許嵌套,最多為32層是操縱事務的一部分可以將觸發(fā)器和觸發(fā)它的語句作為可在觸發(fā)器內回滾的單個事務對待。觸發(fā)器的特點After觸發(fā)器只能用于數(shù)據(jù)表中,InsteadOf觸發(fā)器可以用于數(shù)據(jù)表和視圖上,但兩種觸發(fā)器都不可以建立在臨時表上。一個數(shù)據(jù)表可以有多個觸發(fā)器,但是一個觸發(fā)器只能對應一個表。在同一個數(shù)據(jù)表中,對每個事件(如Insert、Update、Delete)而言可以建立許多個After觸發(fā)器,但InsteadOf觸發(fā)器針對每個操作只有建立一個。如果針對某個操作即設置了After觸發(fā)器又設置了InsteadOf觸發(fā)器,那么Insteadof觸發(fā)器一定會激活,而After觸發(fā)器就不一定會激活了。觸發(fā)器的注意事項TruncateTable語句雖然類似于Delete語句可以刪除記錄,但是它不能激活Delete類型的觸發(fā)器。因為TruncateTable語句是不記入日志的。WRITETEXT語句不能觸發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年視頻會議多點控制器項目投資價值分析報告
- 2025年磁性插頭項目可行性研究報告
- 全稱量詞命題和存在量詞命題教學設計-2024-2025學年高一上學期數(shù)學北師大版(2019)必修第一冊
- 中國油輪市場前景預測及行業(yè)投資潛力預測報告
- 2025年中國汽車開關行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y戰(zhàn)略咨詢報告
- 中國真空鍍鋁紙行業(yè)市場調研分析及投資戰(zhàn)略規(guī)劃報告
- 2025年攪拌機葉片 行業(yè)深度研究分析報告
- 2025年中國樟腦粉行業(yè)市場運營態(tài)勢分析及投資前景預測報告
- 2025年度電力設備采購合同會簽單
- 電褥子轉讓合同范本
- 美麗鄉(xiāng)村規(guī)劃設計技術導則
- SolidWorksTopDown設計方法實際應用
- 七年級歷史第5課--安史之亂與唐朝衰亡ppt課件
- 戶外LED顯示屏設計施工方案.docx
- 上崗證WORD模板
- 凈土資糧——信愿行(05)第三講安住在彌陀大愿之海
- 化工車間開停車風險分析
- 市政小三線施工方案(共22頁)
- 靜壓樁機、鉆孔灌注樁、沉槽機CAD圖形
- 易經(拼音版)
- 紅旗優(yōu)質服務窗口先進事跡材料
評論
0/150
提交評論