当前位置:首页 > 系统运维 > 正文内容

隐性和显式空值激活sql server触发器的 ***

a8116255316年前 (2010-09-13)系统运维7

下文将为您详细解读隐性和显式空值激活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 = 1b = 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 = NULLb = 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 = 2b = DEFAULT 

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/22399.html

分享给朋友:

“隐性和显式空值激活sql server触发器的 *** ” 的相关文章

windows 7鼠标停顿怎么办?windows 7 usb鼠标停顿的原因以及解决

windows 7鼠标停顿怎么办?windows 7 usb鼠标停顿的原因以及解决

很多使用Windows 7系统的朋友都想小编反应,假如暂停使用电脑,鼠标会出现停顿现象,这是怎么回事呢 该怎么解决呢 下面就和小编一起去看下Windows 7 usb鼠标停顿的解决方法吧。 由于Windows 7系统中有一项USB选择性暂停造成的。这项设置主要为了节电,当他检测到用户没有对系统进行...

如何设置Win 7通知栏重新显示电源按钮

如何设置Win 7通知栏重新显示电源按钮

有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...

windows 7查看电脑近期使用情况确定有没有被他人使用

windows 7查看电脑近期使用情况确定有没有被他人使用

我一个朋友最近装装了Windows 7,他总感觉有人用了他的电脑,但是一直不确定,他想知道有没有人动用他的电脑,问我有没有办法 我说设置一下就行了: 启动Windows 7,在搜索栏中输入编辑组,马上就搜索到了编辑组策略,点击即可启动程序编辑组策略。依次展开组策略左侧树形列表的计算机配置/管理模...

windows 7系统重装后卡在正在启动Windows开机界面怎么办

windows 7系统重装后卡在正在启动Windows开机界面怎么办

重装系统是我们面对许多电脑问题时的终极方法,不过重装系统也不意味着就能将全部的问题都修复。一些用户在重装系统后开机时,电脑卡在“正在启动Windows”开机界面上了,这要怎么解决呢? Windows 7系统重装后卡在开机界面的解决方法: 一、首先可以看看该故障出现的原因是否是因为启动了acp...

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04应用窗口列表在哪里?在ubuntu下打开个几个应用窗口最小化后怎么切换呢,应用窗口列表在哪里呢? 1、多打开几个chrome浏览器窗口。 2、然后都做最小化处理。 3、现在我们在桌面左边的面板上找到"左右两边有小白点"的chrome浏览器应用图标,这就是chr...

windows 7如何创建拨号连接

windows 7如何创建拨号连接

一、打开控制面板,选择“网络和共享中心”; 二、在网络和共享中心中选择“设置新的连接或网络”; 三、选择连接到Internet; 四、选择“仍要设置新的连接”; 五、选择“宽带PPPoE ”; 六、输入对应的宽带帐号及密码,点击连接即可;...