首页 > 代码库 > 某公司的存储过程模板(摘抄自高大神的博客)

某公司的存储过程模板(摘抄自高大神的博客)

create procedure [usp_my_procedure_name]asbegin    set nocount on;    declare @trancount int;    set @trancount = @@trancount;    begin try        if @trancount = 0            begin transaction        else            save transaction usp_my_procedure_name;        -- Do the actual work herelbexit:        if @trancount = 0            commit;    end try    begin catch        declare @error int, @message varchar(4000), @xstate int;        select @error = ERROR_NUMBER(), @message = ERROR_MESSAGE(), @xstate = XACT_STATE();        if @xstate = -1            rollback;        if @xstate = 1 and @trancount = 0            rollback        if @xstate = 1 and @trancount > 0            rollback transaction usp_my_procedure_name;        raiserror (‘usp_my_procedure_name: %d: %s‘, 16, 1, @error, @message) ;    end catchendgo

 

某公司的存储过程模板(摘抄自高大神的博客)