It's true. They do.
Try this:
CREATE
TABLE
TrigTest (RowID
INT
)
INSERT
INTO
TrigTest (RowID)
VALUES
(1)
IF EXISTS (
SELECT
name
FROM
sysobjects
WHERE
name
= N
't_TrigTest'
AND
type =
'TR'
)
DROP
TRIGGER
t_TrigTest
GO
CREATE
TRIGGER
t_TrigTest
ON
TrigTest
FOR
update
AS
BEGIN
PRINT
'trigger executing'
end
UPDATE
TrigTest
SET
rowid = 2
WHERE
rowid = 3
When you run the update statement at the bottom of the script, the trigger will fire.
Want to know an easy way to stop this behavior?