存儲過程范例,有輸入輸出參數,帶回滾


創建代碼:

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