Ja du får fejlen kun ved update da du har sat din trigger til at køre kun ved Update med linien:
... for update
Desuden kan du ikke benytte referencen ... from Updated, da objektet ikke findes.
Der findes kun 2 mulige tabeller du kan referere til og det er Inserted eller Deleted (ikke helt korrekt, du kan selvfølgelig hente fra alle fysiske tabeller i din database, men nu snakker vi kun om virtuelle tabeller som du skal bruge her).
Så jeg ville ændre din trigger til:
....
set @id = (select ID from Inserted)
....
http://msdn.microsoft.com/en-us/library/ms191300.aspxSe flere detaljer om opbygning af trigger her:
http://msdn.microsoft.com/en-us/library/ms189799.aspx