SQL Server的过程事务提交和回滚

declare @mycount int;
begin try//这里开始做异常处理
	begin tran myTranStart//这里开始定义事务的块
		--dbms_output.PUT_LINE('--------------------start pro[SQLServerTools]-----------------------');
		--getStrBeforeLine
		select @mycount = count(*) from gsm_sys_operation  where OPERATION_ID=1000;
		if @mycount>0
    		begin
		   update gsm_sys_operation set PARENT_OPERATION_ID=NULL,STATE='001',DESCRIPTION=NULL,INHERIT_PARENT=1,MAP_MODULE=0,MOD_OPERATION_ID=1000,DISPLAY_INDEX=10,OPERATION_TYPE=0,OPERATION_NAME_ALL='战略计划',EDIT_USER=NULL,LAST_OPER_ID=NULL,OPERATION_NAME='战略计划',CREATE_USER=NULL,EDIT_DATE=NULL,CREATE_DATE=NULL,OPERATION_CODE='bsc.splan',VERSION_NUM=NULL where OPERATION_ID=1000;
    		end
		else
    		begin
		   insert into gsm_sys_operation(PARENT_OPERATION_ID,STATE,DESCRIPTION,INHERIT_PARENT,MAP_MODULE,MOD_OPERATION_ID,DISPLAY_INDEX,OPERATION_TYPE,OPERATION_NAME_ALL,OPERATION_ID,EDIT_USER,LAST_OPER_ID,OPERATION_NAME,CREATE_USER,EDIT_DATE,CREATE_DATE,OPERATION_CODE,VERSION_NUM) values(NULL,'001',NULL,1,0,1000,10,0,'战略计划',1000,NULL,NULL,'战略计划',NULL,NULL,NULL,'bsc.splan',NULL);
    		end
		--Go	--getStrAfterLine

		--dbms_output.PUT_LINE('--------------------end pro[SQLServerTools]-----------------------');
	rollback tran myTranStart;//事务的提交和回滚
end try
begin catch//扑捉异常
	print(@@ERROR);
    rollback;
end catch

猜你喜欢

转载自panyongzheng.iteye.com/blog/1616009