我有更新2个表的简单程序:
create procedure p_updatetrans(@id int)
as
declare @errmsg Nvarchar(200)
begin tran
update table1
set data = 10
where id = @id
if (@@error <> 0 or @@rowcount = 0)
begin
select @errmsg = 'Fail to update table1'
goto error
end
update table2
set isUpdate = true
where id = @id
if (@@error <> 0 or @@rowcount = 0)
begin
select @errmsg = 'Fail to update table2'
goto error
end
commit tran
return
error:
raiserror(@errmsg, 16 ,1)
rollback tran
为了更新table2中没有记录,为什么我没有收到错误?如果我使用NoCount On,我就无法获得@@ rowcount数据。
由于