alter proc g_modifyWealth
@userID int,
@points int,
as
begin tran
update ....
insert into ...
commit tran请问,我在程序中(ASP.net)中调用这个stored procedure之后,如何得知它被正确执行了?如果有错误,如何rollback呢?
@userID int,
@points int,
as
begin tran
update ....
insert into ...
commit tran请问,我在程序中(ASP.net)中调用这个stored procedure之后,如何得知它被正确执行了?如果有错误,如何rollback呢?
@msg varchar(10) output,
@userID int,
@points int,
as
begin tran
update ....
if @@error<>0
goto msg
insert into ...
if @@error<>0
goto msg
commit tran
set @msg='true'
return
msg:
begin
set @msg ="false"
rollback tran
return
end
@userID int,
@points int,
as
begin
begin tran
update ....
if @@Error<>0 insert into ...
if @@Error<>0
commit tran
else
rollback tran
end
go
在ASP.NET端只要读取返回值不为空,或者不为0就可以知道是否成功执行了.
alter proc g_modifyWealth
@userID int,
@points int
as
begin tran
update ....
if @@error<>0
goto error
insert into ...
if @@error<>0
goto error
commit tran
return 0error:
rollback tran
return 1go
調用:declare @i int
exec @i=g_modifyWealth 參數1,參數2
select @i--1時失敗,0時成功
go
@userID int,
@points int,
as
begin
begin tran
update ....
if @@Error=0 insert into ...
if @@Error=0
commit tran
else
rollback tran
end
go
汗一个先,写顺手了...