看实际需要,如果你的存储过程是单独调用了,一般在存储过程中使用事务  
  如果你的存储过程与其他语句一齐调用的,一般在存储过程外使用事务

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

posted on 2007-12-12 10:03  恩恩爸爸  阅读(640)  评论(0)    收藏  举报