看实际需要,如果你的存储过程是单独调用了,一般在存储过程中使用事务
如果你的存储过程与其他语句一齐调用的,一般在存储过程外使用事务
如果你的存储过程与其他语句一齐调用的,一般在存储过程外使用事务
Create proc RegisterUser --exec RegisterUser 'g5822','123456','24','835','hn'
(@usrName varchar(30), @usrPasswd varchar(30),@age int, @PhoneNum varchar(20), @Address varchar(50) )
as
begin
--显示定义并开始一个事务
begin tran
insert into [USER](userName,userPasswd) values(@usrName,@usrPasswd)
if @@error<>0
begin
--操作失败,则事务回滚
rollback tran
--返回存储过程,并设置返回码为事务操作失败
return -1
end
insert into USERDOC(userName,age,PhoneNumber,Address)
values(@Usrname,@age,@PhoneNum,@Address)
if @@error<>0
begin
--操作失败,则事务回滚
rollback tran
return -1
end
--如果操作执行正确,则提交事务
commit tran
return 0
end
Select * from [USER]
Select * from USERDOC
浙公网安备 33010602011771号