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 |