存储过程范例,有输入输出参数,带回滚


创建代码:

create procedure proc_delete_business_and_workflow_data_by_business_key
(    
    --输入参数
    @bkey varchar(50),
    --输出参数
    @error int output
)
as

--开始事务
begin transaction

-- 业务操作
delete from T_JC where JC_ID=@bkey
delete from T_ZG where ZG_ID=@bkey
delete from T_JKF where JKF_ID=@bkey
delete from T_WXZY where WXZYID=@bkey
delete from T_SGZ where id=@bkey
delete from T_SGZ_recheck where id=@bkey
delete from T_WORKREPORT where id=@bkey
delete from T_REPORT_SETDATE where id=@bkey

print(char(10)+'业务数据操作完毕')

--获取错误代码,@@ERROR为系统参数
set @error=@@ERROR
print('错误代码:'+convert(varchar(50),@error))
if(@error=0)
    begin
    --提交事务
    commit transaction
    print('执行了提交事务操作')
    end
else
    begin
    --回滚
    rollback transaction;
    print('执行了回滚事务操作');        
    end

调用代码:

--定义用于接收存储过程输出值的变量
declare @error  int 
--调用存储过程,参数直接跟在存储过程名称后面用空格分隔,参数之间用逗号分隔,输出参数后面需要加output关键字
exec proc_delete_business_and_workflow_data_by_business_key '13',@error output
--输出获取的存储过程输出值,验证执行是否正常
print('存储过程返回的错误代码:'+convert(varchar(50),@error))

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM