日期:2011-01-25 23:11:00 来源:本站整理
隐性和显式空值激活sql server触发器的办法[MSSQL防范]
本文“隐性和显式空值激活sql server触发器的办法[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
下文将为您具体解读隐性和显式空值激活sql server触发器的办法,供您参考,但愿对您学习sql server触发器的利用可以有所启迪.
在列中插入显式空值,或利用 DEFAULT 关键字为列赋值,都可以按预期激活触发器.一样,当没有在 INSERT 语句中为列指定值时,sql server触发器仍可以在下列条件下激活:
◆由于不存在DEFAULT 定义,列中插入了一个隐性空值.
◆由于DEFAULT 定义确切存在,列中插入了一个默许值.
示例:用空值和默许值测试sql server触发器激活
下列示例表明sql server触发器若何受隐性和显式空值的影响.成立小型表以包容两个触发器的值.一列包含空值,另一列包含默许值.触发器评价上述两列能否需求改正并且显示激活触发器时的信息.一系列 INSERT 语句通过插入隐性和显式空值的组合来测试触发器激活.
<
- 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触发器的办法[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论