Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MS SQL Server 2008 changing inserted row value in trigger

In Oracle i can change the row value by :new.column_name = new_value in insert/update trigger. How can I do the same in MS SQL 2008 Trigger?

like image 916
Troydm Avatar asked Jan 28 '26 16:01

Troydm


1 Answers

Unlike Oracle, affected records are passed in sets to SQL Server triggers, referenced to as INSERTED and DELETED.

You will have to update the target table:

UPDATE   m
SET      column_name = @new_value
FROM     INSERTED i
JOIN     mytable m
ON       m.id = i.id

or, better, create an INSTEAD OF trigger.

like image 124
Quassnoi Avatar answered Jan 30 '26 08:01

Quassnoi



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!