натягивать методы одной парадигмы на другую
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE Name = 'INSERT_TR_table1' AND type = 'TR')
DROP TRIGGER INSERT_TR_table1;
GO
CREATE TRIGGER INSERT_TR_table1 ON table1
INSTEAD OF INSERT
AS
DECLARE @ex int;
DECLARE @pkey int;
select @pkey = ID from inserted;
SELECT @ex = count(*) FROM table1 WHERE ID = @pkey;
IF (@ex > 0)
UPDATE table1 SET
ID = CASE WHEN ISNULL(i.ID, '')='' THEN t.ID ELSE i.ID END ,
field1 = CASE WHEN ISNULL(i.field1, '')='' THEN t.field1 ELSE i.field1 END
FROM table1 t INNER JOIN inserted i on t.ID=i.ID
ELSE
INSERT INTO table1 (ID,field1) select * from inserted;
GO