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

隱性和顯式空值激活sql server觸發(fā)器的方法

數(shù)據(jù)庫 SQL Server
在列中插入了一個(gè)隱性空值或者插入了一個(gè)默認(rèn)值的條件下,sql server觸發(fā)器仍可以激活,下面就將為您介紹這種方法,希望對您有所幫助。

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

在列中插入顯式空值,或使用 DEFAULT 關(guān)鍵字為列賦值,都可以按預(yù)期激活觸發(fā)器。同樣,當(dāng)沒有在 INSERT 語句中為列指定值時(shí),sql server觸發(fā)器仍可以在下列條件下激活:

◆由于不存在DEFAULT 定義,列中插入了一個(gè)隱性空值。

◆由于DEFAULT 定義確實(shí)存在,列中插入了一個(gè)默認(rèn)值。

示例:用空值和默認(rèn)值測試sql server觸發(fā)器激活

下列示例表明sql server觸發(fā)器如何受隱性和顯式空值的影響。創(chuàng)建小型表以容納兩個(gè)觸發(fā)器的值。一列包含空值,另一列包含默認(rèn)值。觸發(fā)器評價(jià)上述兩列是否需要修改并且顯示激活觸發(fā)器時(shí)的信息。一系列 INSERT 語句通過插入隱性和顯式空值的組合來測試觸發(fā)器激活。

  1. CREATE TABLE t1  
  2. (a int NULL, b int NOT NULL DEFAULT 99)  
  3. GO  
  4.  
  5. CREATE TRIGGER t1trig  
  6. ON t1  
  7. FOR INSERT, UPDATE  
  8. AS  
  9. IF UPDATE(a) AND UPDATE(b)  
  10.    PRINT 'FIRING'  
  11. GO  
  12.  
  13. --When two values are inserted, the UPDATE is TRUE for   
  14. both columns and the trigger is activated.  
  15. INSERT t1 (a, b)   
  16. VALUES (1, 2)   
  17.  
  18. --When two values are updated, the UPDATE is TRUE for   
  19. both columns and the trigger is activated.  
  20. UPDATE t1   
  21. SET a = 1b = 2 
  22.  
  23. --When an explicit NULL is inserted in column a,  
  24. the UPDATE is TRUE for both columns and the trigger is activated.  
  25. INSERT t1  
  26. VALUES (NULL, 2)  
  27.  
  28. --When an explicit NULL is updated in column a,   
  29. the UPDATE is TRUE for both columns,the trigger is activated.  
  30. UPDATE t1   
  31. SET a = NULLb = 2 
  32.  
  33. --When an implicit NULL is inserted in column a,  
  34.  the UPDATE is TRUE for both columns and the trigger is activated.  
  35. INSERT t1 (b)  
  36. VALUES (2)  
  37.  
  38. --When column a is updated with an implicit NULL,  
  39.  the UPDATE is FALSE for both columns and the trigger is not activated.  
  40. UPDATE t1   
  41. SET b = 2 
  42.  
  43. --When the default value is implicitly inserted in column b,   
  44. the UPDATE is TRUE for both columns and the trigger is activated.  
  45. INSERT t1 (a)  
  46. VALUES (2)  
  47.  
  48. --When column b is updated with an implicit NULL,   
  49. the UPDATE is FALSE for both columns and the trigger is not activated.  
  50. UPDATE t1   
  51. SET a = 2 
  52.  
  53. --When the default value is explicitly inserted in column b,   
  54. the UPDATE is TRUE for both columns and the trigger is activated.  
  55. INSERT t1 (a, b)  
  56. VALUES (2, DEFAULT)  
  57.  
  58. --When column b is updated explicitly with the default value,   
  59. the UPDATE is TRUE for both columns and the trigger is activated.  
  60. UPDATE t1   
  61. SET a = 2b = DEFAULT 

 

 

 

【編輯推薦】

教您如何查看Sql Server數(shù)據(jù)文件

查看sql server數(shù)據(jù)庫連接數(shù)的三種方法

sql server數(shù)據(jù)庫文件的壓縮方法

sql server字符串的類型

sql server字符串截取實(shí)例分析

 

 

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

2010-11-12 15:35:55

SQL Server約

2009-04-07 13:56:03

SQL Server觸發(fā)器實(shí)例

2010-10-20 14:34:48

SQL Server觸

2010-07-16 10:19:31

2010-09-13 17:03:34

sql server觸

2010-04-19 10:43:27

SQL Server

2010-11-10 13:37:01

SQL Server觸

2010-10-22 11:10:43

SQL Server觸

2010-11-08 11:49:24

SQL Server管

2010-07-06 14:47:03

SQL Server數(shù)

2011-03-03 09:30:24

downmoonsql登錄觸發(fā)器

2010-10-19 15:31:40

sql server觸

2010-07-05 11:09:55

SQL Server觸

2011-03-28 10:05:57

sql觸發(fā)器代碼

2019-10-22 07:50:45

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

2010-07-05 11:01:37

Sql Server觸

2010-06-30 09:36:25

SQL Server

2011-04-01 16:35:09

SQL Server數(shù)觸發(fā)器

2009-04-26 22:27:54

觸發(fā)器密碼修改數(shù)據(jù)庫

2011-04-14 10:53:00

MySQLSQL觸發(fā)器
點(diǎn)贊
收藏

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