小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

觸發(fā)器基本知識(shí)

 小朋 2006-10-26
觸發(fā)器的概念及作用
    觸發(fā)器是一種特殊類型的存儲(chǔ)過程,它不同于我們前面介紹過的存儲(chǔ)過程。觸發(fā)器主要是通過事件進(jìn)行觸發(fā)而被執(zhí)行的,而存 儲(chǔ)過程可以通過存儲(chǔ)過程名字而被直接調(diào)用。當(dāng)對(duì)某一表進(jìn)行諸如UPDATE、 INSERT、 DELETE 這些操作時(shí),SQL Server 就會(huì)自動(dòng)執(zhí)行觸發(fā)器所定義的SQL 語句,從而確保對(duì)數(shù)據(jù)的處理必須符合由這些SQL 語句所定義的規(guī)則。
    觸發(fā)器的主要作用就是其能夠?qū)崿F(xiàn)由主鍵和外鍵所不能保證的復(fù)雜的參照完整性和數(shù)據(jù)的一致性。除此之外,觸發(fā)器還有其它許多不同的功能:
(1) 強(qiáng)化約束(Enforce restriction)
觸發(fā)器能夠?qū)崿F(xiàn)比CHECK 語句更為復(fù)雜的約束。

(2) 跟蹤變化Auditing changes
觸發(fā)器可以偵測數(shù)據(jù)庫內(nèi)的操作,從而不允許數(shù)據(jù)庫中未經(jīng)許可的指定更新和變化。

(3) 級(jí)聯(lián)運(yùn)行(Cascaded operation)。
觸發(fā)器可以偵測數(shù)據(jù)庫內(nèi)的操作,并自動(dòng)地級(jí)聯(lián)影響整個(gè)數(shù)據(jù)庫的各項(xiàng)內(nèi)容。例如,某個(gè)表上的觸發(fā)器中包含有對(duì)另外一個(gè)表的數(shù)據(jù)操作(如刪除,更新,插入)而該操作又導(dǎo)致該表上觸發(fā)器被觸發(fā)。 (4) 存儲(chǔ)過程的調(diào)用(Stored procedure invocation)。
為了響應(yīng)數(shù)據(jù)庫更新觸,發(fā)器可以調(diào)用一個(gè)或多個(gè)存儲(chǔ)過程,甚至可以通過外部過程的調(diào)用而在DBMS( 數(shù)據(jù)庫管理系統(tǒng))本身之外進(jìn)行操作。
     由此可見,觸發(fā)器可以解決高級(jí)形式的業(yè)務(wù)規(guī)則或復(fù)雜行為限制以及實(shí)現(xiàn)定制記錄等一些方面的問題。例如,觸發(fā)器能夠找出某一表在數(shù)據(jù)修改前后狀態(tài)發(fā)生的差 異,并根據(jù)這種差異執(zhí)行一定的處理。此外一個(gè)表的同一類型(INSERT、 UPDATE、 DELETE)的多個(gè)觸發(fā)器能夠?qū)ν环N數(shù)據(jù)操作采取多種不同的處理。
    總體而言,觸發(fā)器性能通常比較低。當(dāng)運(yùn)行觸發(fā)器時(shí),系統(tǒng)處理的大部分時(shí)間花費(fèi)在參照其它表的這一處理上,因?yàn)檫@些表既不在內(nèi)存中也不在數(shù)據(jù)庫設(shè)備上,而刪除表和插入表總是位于內(nèi)存中。可見觸發(fā)器所參照的其它表的位置決定了操作要花費(fèi)的時(shí)間長短。

12.5.2 觸發(fā)器的種類

    SQL Server 2000 支持兩種類型的觸發(fā)器:AFTER 觸發(fā)器和INSTEAD OF 觸發(fā)器。其中AFTER 觸發(fā)器即為SQL Server 2000 版本以前所介紹的觸發(fā)器。該類型觸發(fā)器要求只有執(zhí)行某一操作(INSERT UPDATE DELETE) 之后,觸發(fā)器才被觸發(fā),且只能在表上定義??梢詾獒槍?duì)表的同一操作定義多個(gè)觸發(fā)器。對(duì)于AFTER 觸發(fā)器,可以定義哪一個(gè)觸發(fā)器被最先觸發(fā),哪一個(gè)被最后觸發(fā),通常使用系統(tǒng)過程sp_settriggerorder 來完成此任務(wù)。

    INSTEAD OF 觸發(fā)器表示并不執(zhí)行其所定義的操作(INSERT、 UPDATE、 DELETE),而僅是執(zhí)行觸發(fā)器本身。既可在表上定義INSTEAD OF 觸發(fā)器,也可以在視圖上定義INSTEAD OF 觸發(fā)器,但對(duì)同一操作只能定義一個(gè)INSTEAD OF 觸發(fā)器。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多