SQL Server的过程事务提交和回滚
declare @mycount int;begin try//这里开始做异常处理
begin tran myTranStart//这里开始定义事务的块
--dbms_output.PUT_LINE('--------------------start pro-----------------------');
--getStrBeforeLine
select @mycount = count(*) from gsm_sys_operationwhere 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-----------------------');
rollback tran myTranStart;//事务的提交和回滚
end try
begin catch//扑捉异常
print(@@ERROR);
rollback;
end catch
页:
[1]