Noch ein Vorschlag:
Du schießt alles in eine Stored Prozedure rein
die fährt dann ein "Pseudocode"
Code:
If Exists(Select * from Tabelle where id=@ID)
Update Tabelle set a=@,b=@b ... where id=@ID
else
Insert into Tabelle (id,a,b,..) Values (@id,@a,@b..)