您的位置:首页 > 其它

存储过程中事务的使用方法

2007-11-10 13:14 281 查看
function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}

ALTER PROCEDURE dbo.PR_AddDPT

@dptName varchar(50),

@dptWorker int

AS

SET NOCOUNT ON

begin tran --事务处理开始

declare @insertError int,@updateError int

insert into [dptInfo] values(@dptName,@dptWorker) --插入语句操作正常

select @insertError=@@error

update [dptInfo] set dptname='fantasy' where id=100 --更新语句由于id=100的记录不存在导致操作异常,因此事务会回滚到事务开始之前的位置,即前面插入的那条记录会消失

select @updateError=@@error

if(@insertError=0 and @updateError=0) --如果事务顺利完成没有异常

commit tran --事务完成

else --如果有异常

rollback tran --事务回滚

SET NOCOUNT OFF

RETURN
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: