Вы можете использовать transaction
для этого. Убедитесь, что все необходимые таблицы заблокированы в одной транзакции, а затем отпустите их.
begin transaction
begin try
if exists (select itemcode from item where itemcode=1120)
BEGIN
update item
set itemname = 'laptop'
where itemcode = 1120
END
else
BEGIN
insert into item (itemcode,itemname)
values (1120,'laptop')
END
commit transaction
end try
begin catch
raiserror('Message here', 16, 1)
rollback transaction
end catch
Вы также можете дать название своей транзакции, если у вас есть несколько.