国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL Server數(shù)據(jù)庫中觸發(fā)器的應(yīng)用研究

2017-07-29 20:53陳雅
電腦知識與技術(shù) 2017年12期
關(guān)鍵詞:觸發(fā)器

陳雅

摘要:觸發(fā)器是SQLServer數(shù)據(jù)庫中用于保證數(shù)據(jù)完整性的一種重要工具,起著舉足輕重的作用。文章介紹了觸發(fā)器的概念、組成、分類、創(chuàng)建方法及優(yōu)點等內(nèi)容。重點通過實例討論了三種觸發(fā)器的創(chuàng)建方法。正確、合理地使用觸發(fā)器,不僅可以增強數(shù)據(jù)庫完整性而且可以提高開發(fā)效率。

關(guān)鍵詞:觸發(fā)器;SQL Server

信息系統(tǒng)在實施過程中,會把所有的信息儲存在數(shù)據(jù)庫中,因此開發(fā)和運行信息系統(tǒng)始終都離不開數(shù)據(jù)庫,且信息系統(tǒng)的可用性與其存取數(shù)據(jù)是否正確有很大的關(guān)系。運用觸發(fā)器可以允許或限制對表的修改、強制數(shù)據(jù)滿足完整性、允許或限制自動派生列、提供日志作為主要的記錄和審核。為了預(yù)防一些無效內(nèi)容記錄在內(nèi),應(yīng)該啟動復(fù)雜業(yè)務(wù)邏輯,啟動觸發(fā)技術(shù)并應(yīng)用在數(shù)據(jù)庫系統(tǒng)中。深入研究觸發(fā)器技術(shù),將其應(yīng)用在數(shù)據(jù)庫系統(tǒng)當(dāng)中,對于提高信息的準(zhǔn)確性和完整性、提高開發(fā)效率等方面具有重要意義。本文基于SQL Server數(shù)據(jù)庫的觸發(fā)器進行應(yīng)用研究。

1觸發(fā)器的概念

觸發(fā)器(Triggcr)在很多機器中只代表了一個儲存的過程,一旦數(shù)據(jù)中發(fā)生某種數(shù)據(jù)庫操作事件時由數(shù)據(jù)庫系統(tǒng)自動觸發(fā),通常用于加強數(shù)據(jù)的完整性約束和業(yè)務(wù)規(guī)則等。

觸發(fā)器與數(shù)據(jù)庫對象緊密相連,不能被直接調(diào)用,而是通過事件(如插入、刪除、更新、創(chuàng)建等)自動觸發(fā)、執(zhí)行。一旦數(shù)據(jù)庫對象的結(jié)構(gòu)或者數(shù)據(jù)出現(xiàn)了新的變化,那么自動執(zhí)行檢查過程中會考慮整個過程中是否能夠滿足觸發(fā)器的需求,對創(chuàng)建觸發(fā)器創(chuàng)造數(shù)據(jù)沒有任何控制效果。

2觸發(fā)器的組成

一般觸發(fā)器時間主要包括三部分,主要包括事件、條件以及動作三個部分。一旦具備的相關(guān)條件發(fā)生之后,會立即執(zhí)行事件。引起觸發(fā)器被觸發(fā)的事件有DML語句、DDL語句、數(shù)據(jù)庫系統(tǒng)事件、用戶事件。條件是按照邏輯思維進行表達(dá)的邏輯表達(dá)式,如果該表達(dá)式值達(dá)到TRUE時,會自動執(zhí)行觸發(fā)器,讓其執(zhí)行相關(guān)觸發(fā)事件。

3觸發(fā)器的分類

根據(jù)不同的分類方法,觸發(fā)器被分為不同的類別。按照觸發(fā)事件的不同,觸發(fā)器分為DML觸發(fā)器、DDL觸發(fā)器和登錄觸發(fā)器3種;根據(jù)觸發(fā)器的觸發(fā)時間的不同,觸發(fā)器又分為IN.STEAD OF觸發(fā)器和AFTER(FOR)觸發(fā)器兩種,INSTEAD OF觸發(fā)器的動作要早于表的約束(如primarykey約束、foreignkey約束,check約束等)處理,AFTER觸發(fā)器的動作晚于約束(如primary key約束、foreign key約束,check約束等)處理。每一個表上只能創(chuàng)建一個INSTEAD OF觸發(fā)器,但可以創(chuàng)建多個AFTER(FOR)觸發(fā)器。

3.1 DML觸發(fā)器

DML觸發(fā)器在執(zhí)行DML語言時被觸發(fā),用于當(dāng)數(shù)據(jù)被更新時強制執(zhí)行完整性檢查.DML事件包括對指定表或視圖進行的INSERT語句、DELETE語句和UPDA了E語句。

3.2 DDL觸發(fā)器

DDL觸發(fā)器用于響應(yīng)CREATE、ALTER、DROP、GRANT、DENY、REVOKE和UPDATE STATISTICS及執(zhí)行管理責(zé)任.一旦數(shù)據(jù)庫中結(jié)構(gòu)出現(xiàn)了新的變化,很容易激發(fā)DDL觸發(fā)器,觸發(fā)器可以記錄結(jié)構(gòu)修改的過程,監(jiān)測對數(shù)據(jù)庫架構(gòu)的操作,防止對數(shù)據(jù)庫架構(gòu)進行某些修改;DDL觸發(fā)器能夠刪除指定關(guān)系或者用戶關(guān)系。DDL觸發(fā)器只能作為AFTER(FOR)觸發(fā)器使用。

3.3登錄觸發(fā)器

登錄觸發(fā)器在登錄的身份驗證階段完成之后且用戶會話實際建立之前激發(fā),是用于響應(yīng)LOGIN事件的觸發(fā)器。

猜你喜歡
觸發(fā)器
主從JK觸發(fā)器邏輯功能分析
使用觸發(fā)器,強化安全性
對觸發(fā)器邏輯功能轉(zhuǎn)換的分析
觸發(fā)器邏輯功能轉(zhuǎn)換的兩種方法
保定市| 陆丰市| 阿荣旗| 高唐县| 理塘县| 洛阳市| 阳原县| 江门市| 舟山市| 合水县| 理塘县| 秦皇岛市| 惠东县| 彭州市| 温宿县| 珲春市| 青川县| 德阳市| 渭南市| 昌都县| 临夏县| 乐业县| 兴国县| 昆山市| 肃宁县| 东乡| 新民市| 石嘴山市| 江安县| 商都县| 柯坪县| 通城县| 西青区| 兴化市| 涪陵区| 嵊州市| 武隆县| 乌恰县| 永春县| 二连浩特市| 始兴县|