SQLServer 存储过程 返回参数 异常处理 事物的使用

ALTER PROCEDURE [dbo].[syn_bukrsTosysOrg]
@msg varchar(100) out --输出参数
AS
BEGIN
     begin tran --事物开始
      begin try --try开始
--业务实现开始
insert sys_org select * from ( select distinct bukr o_orgnum,0 o_pnum from bukrs where bukr not in (select distinct o_orgnum from sys_org where o_pnum=0 ) union all select distinct kostl o_orgnum,bukr o_pnum from bukrs where kostl not in (select distinct o_orgnum from sys_org where o_pnum<>0) ) t
            --业务实现结束
            commit tran --提交事物
end
try --try结束
begin
catch --catch 开始
set @msg='error'
rollback tran --回滚事物
end
catch END --catch 结束

--调用
 declare @msg varchar(100)
 exec syn_bukrsTosysOrg @msg output --需要在参数外面加output属性
 select @msg


 

posted @ 2017-02-15 16:25  微笑代表淡定.Net  阅读(199)  评论(0)    收藏  举报