国产女人大黑β片在线观看_国产成人亚洲精品无码Av大片l_亚洲成人无码手机播放_强奸暴虐视频在线观看

您當前位置: 唯學網 » 數(shù)據(jù)庫培訓 » 數(shù)據(jù)庫培訓教育新聞 »

數(shù)據(jù)庫SQL Sever觸發(fā)器的語法與作用

數(shù)據(jù)庫SQL Sever觸發(fā)器的語法與作用

唯學網 • 教育培訓

2016-5-5 10:58

SQL Sever觸發(fā)器

數(shù)據(jù)庫

觸發(fā)器

唯學網 • 中國教育電子商務平臺

加入收藏

作為一名軟件開發(fā)人員,應全面了解數(shù)據(jù)庫的運用。在數(shù)據(jù)庫SQL Sever中,有一種存儲過程是十分重要的,那就是觸發(fā)器。它與普通的存儲過程有所不同,它是通過事件進行觸發(fā)被自動調用執(zhí)行的。而存儲過程可以通過存儲過程的名稱被調用。下面小編就給大家介紹觸發(fā)器基本語法與作用。

首先,我們要了解什么是觸發(fā)器?

觸發(fā)器是在對表進行插入、更新或刪除操作時自動執(zhí)行的存儲過程。 觸發(fā)器對表進行插入、更新、刪除的時候會自動執(zhí)行的特殊存儲過程。觸發(fā)器一般用在check約束更加復雜的約束上面。觸發(fā)器和普通的存儲過程的區(qū)別是:觸發(fā)器是當對某一個表進行操作。諸如:update、insert、delete這些操作的時候,系統(tǒng)會自動調用執(zhí)行該表上對應的觸發(fā)器。SQL Server 2005中觸發(fā)器可以分為兩類:DML觸發(fā)器和DDL觸發(fā)器,其中DDL觸發(fā)器它們會影響多種數(shù)據(jù)定義語言語句而激發(fā),這些語句有create、alter、drop語句。

SQL Server為每個觸發(fā)器都創(chuàng)建了兩個專用表﹕Inserted表和Deleted表。

觸發(fā)器通常用于強制業(yè)務規(guī)則。它是一種高級約束,可以定義比用CHECK 約束更為復雜的約束:

(1)可執(zhí)行復雜的SQL語句(if/while/case);

(2)可引用其它表中的列;

(3)觸發(fā)器定義在特定的表上,與表相關。

(4)自動觸發(fā)執(zhí)行;

(5)不能直接調用;

(6)是一個事務(可回滾);

使用觸發(fā)器的好處

觸發(fā)器可通過數(shù)據(jù)庫中的相關表實現(xiàn)級聯(lián)更改,不過,通過級聯(lián)引用完整性約束可以更有效地執(zhí)行這些更改。

觸發(fā)器可以強制比用CHECK約束定義的約束更為復雜的約束。與 CHECK 約束不同,觸發(fā)器可以引用其它表中的列。例如,觸發(fā)器可以使用另一個表中的 SELECT 比較插入或更新的數(shù)據(jù),以及執(zhí)行其它操作,如修改數(shù)據(jù)或顯示用戶定義錯誤信息。觸發(fā)器也可以評估數(shù)據(jù)修改前后的表狀態(tài),并根據(jù)其差異采取對策。

一個表中的多個同類觸發(fā)器(INSERT、UPDATE 或 DELETE)允許采取多個不同的對策以響應同一個修改語句。

觸發(fā)器的類型

DELETE 觸發(fā)器

INSERT 觸發(fā)器

UPDATE 觸發(fā)器

觸發(fā)器有兩個特殊的表:插入表(instered表)和刪除表(deleted表)。這兩張是邏輯表也是虛表。有系統(tǒng)在內存中創(chuàng)建者兩張表,不會存儲在數(shù)據(jù)庫中。而且兩張表的都是只讀的,只能讀取數(shù)據(jù)而不能修改數(shù)據(jù)。這兩張表的結果總是與被改觸發(fā)器應用的表的結構相同。當觸發(fā)器完成工作后,這兩張表就會被刪除。Inserted表的數(shù)據(jù)是插入或是修改后的數(shù)據(jù),而deleted表的數(shù)據(jù)是更新前的或是刪除的數(shù)據(jù)。

對表的操作

Inserted邏輯表

Deleted邏輯表

增加記錄(insert)

存放增加的記錄

刪除記錄(delete)

存放被刪除的記錄

修改記錄(update)

存放更新后的記錄

存放更新前的記錄

Update數(shù)據(jù)的時候就是先刪除表記錄,然后增加一條記錄。這樣在inserted和deleted表就都有update后的數(shù)據(jù)記錄了。注意的是:觸發(fā)器本身就是一個事務,所以在觸發(fā)器里面可以對修改數(shù)據(jù)進行一些特殊的檢查。如果不滿足可以利用事務回滾,撤銷操作。

數(shù)據(jù)庫SQLSever觸發(fā)器

數(shù)據(jù)庫SQLSever觸發(fā)器

數(shù)據(jù)庫SQLSever觸發(fā)器

數(shù)據(jù)庫SQLSever觸發(fā)器

數(shù)據(jù)庫SQLSever觸發(fā)器語法

以上內容是關于數(shù)據(jù)庫SQLSever觸發(fā)器的介紹,唯學網小編提醒,關于數(shù)據(jù)庫資訊、學習指導等相關內容的請繼續(xù)關注唯學網。小編會第一時間為大家更新跟進最新信息,如有任何疑問也可在線留言,小編會為您在第一時間解答!

0% (0)
0% (10)
已有條評論