自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

帶您了解SQL Server觸發(fā)器管理

數(shù)據(jù)庫 SQL Server
SQL Server觸發(fā)器有插入表和刪除表這兩個(gè)特殊的表,用于管理SQL Server觸發(fā)器完成操作,下面就為您詳細(xì)介紹這兩種表,供您參考學(xué)習(xí)。

在我們使用SQL數(shù)據(jù)庫時(shí),SQL Server觸發(fā)器是經(jīng)常需要使用到的,SQL Server觸發(fā)器是對(duì)某一個(gè)表的一定的操作,觸發(fā)某種條件,從而執(zhí)行的一段程序。

SQL Server是如何管理SQL Server觸發(fā)器來完成這些任務(wù)呢?下面我們將對(duì)其工作原理及實(shí)現(xiàn)做較為詳細(xì)的介紹。

每個(gè)SQL Server觸發(fā)器有兩個(gè)特殊的表:插入表和刪除表。這兩個(gè)表是邏輯表,并且這兩個(gè)表是由系統(tǒng)管理的,存儲(chǔ)在內(nèi)存中,不是存儲(chǔ)在數(shù)據(jù)庫中,因此不允許用戶直接對(duì)其修改。這兩個(gè)表的結(jié)構(gòu)總是與被該觸發(fā)器作用的表有相同的表結(jié)構(gòu)。這兩個(gè)表是動(dòng)態(tài)駐留在內(nèi)存中的,當(dāng)觸發(fā)器工作完成,這兩個(gè)表也被刪除。這兩個(gè)表主要保存因用戶操作而被影響到的原數(shù)據(jù)值或新數(shù)據(jù)值。另外,這兩個(gè)表是只讀的,即用戶不能向這兩個(gè)表寫入內(nèi)容,但可以引用表中的數(shù)據(jù)。

例如可用如下語句查看DELETED 表中的信息:
select * from deleted

下面詳細(xì)介紹這兩個(gè)表的功能:

插入表的功能

對(duì)一個(gè)定義了插入類型SQL Server觸發(fā)器的表來講,一旦對(duì)該表執(zhí)行了插入操作,那么對(duì)向該表插入的所有行來說,都有一個(gè)相應(yīng)的副本存放到插入表中。即插入表就是用來存儲(chǔ)向原表插入的內(nèi)容。

刪除表的功能

對(duì)一個(gè)定義了刪除類型觸發(fā)器的表來講,一旦對(duì)該表執(zhí)行了刪除操作,則將所有的刪除行存放至刪除表中。這樣做的目的是,一旦觸發(fā)器遇到了強(qiáng)迫它中止的語句被執(zhí)行時(shí), 刪除的那些行可以從刪除表中得以恢復(fù)。

需要強(qiáng)調(diào)的是,更新操作包括兩個(gè)部分,即先將更新的內(nèi)容去掉,然后將新值插入。因此對(duì)一個(gè)定義了更新類型觸發(fā)器的表來講,當(dāng)報(bào)告會(huì)更新操作時(shí),在刪除表中存放了舊值,然后在插入表中存放新值。

由于SQL Server觸發(fā)器僅當(dāng)被定義的操作被執(zhí)行時(shí)才被激活,即僅當(dāng)在執(zhí)行插入、刪除、和更新操作時(shí),觸發(fā)器將執(zhí)行。每條SQL 語句僅能激活觸發(fā)器一次,可能存在一條語句影響多條記錄的情況。在這種情況下就需要變量@@rowcount的值,該變量存儲(chǔ)了一條SQL 語 句執(zhí)行后所影響的記錄數(shù),可以使用該值對(duì)觸發(fā)器的SQL 語句執(zhí)行后所影響的記錄求合計(jì)值。一般來說,首先要用IF 語句測試@@rowcount 的值以確定后面的語句是否執(zhí)行。

 

 

 

【編輯推薦】

SQL Server的優(yōu)點(diǎn)和缺點(diǎn)

Web環(huán)境中的SQL Server驗(yàn)證

SQL Server數(shù)據(jù)轉(zhuǎn)換服務(wù)簡介

sql server系統(tǒng)文件簡介

sql server 2005版本全介紹

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-11-08 11:49:24

SQL Server管

2010-11-10 13:37:01

SQL Server觸

2010-10-25 14:09:01

Oracle觸發(fā)器

2010-10-20 15:20:34

SQL Server服

2010-10-20 16:22:52

SQL Server權(quán)

2010-10-22 13:34:49

SQL Server游

2010-10-21 15:07:09

SQL Server系

2010-11-12 11:07:03

sql server內(nèi)

2010-10-20 15:02:21

2010-10-20 10:31:57

sql server聯(lián)

2010-11-11 11:56:39

SQL Server標(biāo)

2010-10-19 14:56:05

sql server臨

2010-10-19 13:26:45

SQL Server事

2010-10-21 11:44:55

SQL Server分

2010-09-16 14:38:55

Sql server表

2010-11-08 10:16:41

SQL Server數(shù)

2010-10-20 13:15:25

SQL Server復(fù)

2010-11-12 14:55:59

Sql Server檢

2010-09-13 17:03:34

sql server觸

2009-04-07 13:56:03

SQL Server觸發(fā)器實(shí)例
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)