Just wrap an update and insert in 1 transaction:
Begin Transaction
Update YourTable
Set Column(s) = OtherTable.Columns
From YourTable
Inner Join OtherTable
On (YourTable.KeyColumn(s) = OtherTable.KeyColumns(s))
Insert Into YourTable
Select ....
From OtherTable
Where Not Exists (
Select * from YourTable
Where YourTable.KeyColumn(s) = OtherTable.Columns
)
Commit