隐性和显式空值激活sqlserver触发器的方法

下文将为您详细解读隐性和显式空值激活sql server触发器的方法,供您参考,希望对您学习sql server触发器的使用能够有所启迪。

创新互联建站是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信平台小程序开发,十余年建站对白乌鱼等多个行业,拥有丰富建站经验。

在列中插入显式空值,或使用 DEFAULT 关键字为列赋值,都可以按预期激活触发器。同样,当没有在 INSERT 语句中为列指定值时,sql server触发器仍可以在下列条件下激活:

◆由于不存在DEFAULT 定义,列中插入了一个隐性空值。

◆由于DEFAULT 定义确实存在,列中插入了一个默认值。

示例:用空值和默认值测试sql server触发器激活

下列示例表明sql server触发器如何受隐性和显式空值的影响。创建小型表以容纳两个触发器的值。一列包含空值,另一列包含默认值。触发器评价上述两列是否需要修改并且显示激活触发器时的信息。一系列 INSERT 语句通过插入隐性和显式空值的组合来测试触发器激活。

 
 
 
  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 = 1, b = 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 = NULL, b = 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 = 2, b = DEFAULT 

【编辑推荐】

教您如何查看Sql Server数据文件

查看sql server数据库连接数的三种方法

sql server数据库文件的压缩方法

sql server字符串的类型

sql server字符串截取实例分析

网站标题:隐性和显式空值激活sqlserver触发器的方法
地址分享:http://www.hantingmc.com/qtweb/news26/270676.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联