If you are used to Oracle triggers, you will probably not like SQL Server triggers. Here's one I had to write. It's more complicated the the prior examples but will show you how to handle not having the

ld and :new bind variables.
Sorry, no comments but hopefully the code is readable. Note that I've learned since that cursors are not always the way to go in TSQL.
Good luck!
[tt]
create TRIGGER Sync_APhoneBook_Magazine_Trigger ON [maginfo]
FOR INSERT, UPDATE, DELETE
AS
Declare @nMagId int
Declare @sMagazineName nvarchar(50)
Declare @cAction nchar(1)
If ( (Exists (Select * From Inserted)) And (Exists (Select * from Deleted)) ) Begin
Set @cAction = 'U'
Declare cUpdated Cursor For
Select i.mag_id, i.mag_name
From Inserted i, Deleted d
Where i.mag_id = d.mag_id
Open cUpdated
Fetch cUpdated Into @nMagId, @sMagazineName
Exec Sync_APhoneBook_Magazine @nMagId, @sMagazineName, @cAction
Close cUpdated
Deallocate cUpdated
End
Else If ( Exists (Select * From Inserted) ) Begin
Set @cAction = 'I'
Declare cInserted Cursor For
Select mag_id, mag_name
From Inserted
Open cInserted
Fetch cInserted Into @nMagId, @sMagazineName
Exec Sync_APhoneBook_Magazine @nMagId, @sMagazineName, @cAction
Close cInserted
Deallocate cInserted
End
Else If ( Exists (Select * From Deleted) ) Begin
Set @cAction = 'D'
Declare cDeleted Cursor For
Select mag_id, mag_name
From Deleted
Open cDeleted
Fetch cDeleted Into @nMagId, @sMagazineName
Exec Sync_APhoneBook_Magazine @nMagId, @sMagazineName, @cAction
Close cDeleted
Deallocate cDeleted
End
[/tt]