新聞中心
下文將為您詳細(xì)解讀隱性和顯式空值激活sql server觸發(fā)器的方法,供您參考,希望對(duì)您學(xué)習(xí)sql server觸發(fā)器的使用能夠有所啟迪。

創(chuàng)新互聯(lián)建站是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專(zhuān)注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開(kāi)發(fā),軟件開(kāi)發(fā),微信平臺(tái)小程序開(kāi)發(fā),十余年建站對(duì)白烏魚(yú)等多個(gè)行業(yè),擁有豐富建站經(jīng)驗(yàn)。
在列中插入顯式空值,或使用 DEFAULT 關(guān)鍵字為列賦值,都可以按預(yù)期激活觸發(fā)器。同樣,當(dāng)沒(méi)有在 INSERT 語(yǔ)句中為列指定值時(shí),sql server觸發(fā)器仍可以在下列條件下激活:
◆由于不存在DEFAULT 定義,列中插入了一個(gè)隱性空值。
◆由于DEFAULT 定義確實(shí)存在,列中插入了一個(gè)默認(rèn)值。
示例:用空值和默認(rèn)值測(cè)試sql server觸發(fā)器激活
下列示例表明sql server觸發(fā)器如何受隱性和顯式空值的影響。創(chuàng)建小型表以容納兩個(gè)觸發(fā)器的值。一列包含空值,另一列包含默認(rèn)值。觸發(fā)器評(píng)價(jià)上述兩列是否需要修改并且顯示激活觸發(fā)器時(shí)的信息。一系列 INSERT 語(yǔ)句通過(guò)插入隱性和顯式空值的組合來(lái)測(cè)試觸發(fā)器激活。
- CREATE TABLE t1
- (a int NULL, b int NOT NULL DEFAULT 99)
- GO
- CREATE TRIGGER t1trig
- ON t1
- FOR INSERT, UPDATE
- AS
- IF UPDATE(a) AND UPDATE(b)
- PRINT 'FIRING'
- GO
- --When two values are inserted, the UPDATE is TRUE for
- both columns and the trigger is activated.
- INSERT t1 (a, b)
- VALUES (1, 2)
- --When two values are updated, the UPDATE is TRUE for
- both columns and the trigger is activated.
- UPDATE t1
- SET a = 1, b = 2
- --When an explicit NULL is inserted in column a,
- the UPDATE is TRUE for both columns and the trigger is activated.
- INSERT t1
- VALUES (NULL, 2)
- --When an explicit NULL is updated in column a,
- the UPDATE is TRUE for both columns,the trigger is activated.
- UPDATE t1
- SET a = NULL, b = 2
- --When an implicit NULL is inserted in column a,
- the UPDATE is TRUE for both columns and the trigger is activated.
- INSERT t1 (b)
- VALUES (2)
- --When column a is updated with an implicit NULL,
- the UPDATE is FALSE for both columns and the trigger is not activated.
- UPDATE t1
- SET b = 2
- --When the default value is implicitly inserted in column b,
- the UPDATE is TRUE for both columns and the trigger is activated.
- INSERT t1 (a)
- VALUES (2)
- --When column b is updated with an implicit NULL,
- the UPDATE is FALSE for both columns and the trigger is not activated.
- UPDATE t1
- SET a = 2
- --When the default value is explicitly inserted in column b,
- the UPDATE is TRUE for both columns and the trigger is activated.
- INSERT t1 (a, b)
- VALUES (2, DEFAULT)
- --When column b is updated explicitly with the default value,
- the UPDATE is TRUE for both columns and the trigger is activated.
- UPDATE t1
- SET a = 2, b = DEFAULT
【編輯推薦】
教您如何查看Sql Server數(shù)據(jù)文件
查看sql server數(shù)據(jù)庫(kù)連接數(shù)的三種方法
sql server數(shù)據(jù)庫(kù)文件的壓縮方法
sql server字符串的類(lèi)型
sql server字符串截取實(shí)例分析
當(dāng)前題目:隱性和顯式空值激活sqlserver觸發(fā)器的方法
轉(zhuǎn)載來(lái)于:http://www.dlmjj.cn/article/cdiopjc.html


咨詢(xún)
建站咨詢(xún)
