`
lengyue
  • 浏览: 141674 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

在sqlserver2000中实现类似oracle的Merge into的方法

阅读更多

   begin tran t1
        declare @existflag int
        SELECT @existflag =rcgoobpr_flag FROM ri_rcgoobpr where ri_manageunitcode=#rvManageunitCode# and
        rcgoobpr_id=#rcgoobpr_id#
        if(@existflag is not null)
        begin
        update ri_rcgoobpr set
        rvrcds_id=#rvrcds_id#,bnds=#bnds#,brnm=#brnm#,infndt=#infndt#,goennmcd=#goennmcd#,lfbnpl=#lfbnpl#,
        wtlvbkin=#wtlvbkin#,brar=#brar#,brdm=#brdm#,brinchwd=#brinchwd#,brigwtar=#brigwtar#,rvbrpl=#rvbrpl#,
        rvbrin=#rvbrin#,rm=#rm#,usercode=#usercode#,username=#username#,operationdate=getdate()
        WHERE rcgoobpr_id=#rcgoobpr_id#
        AND ri_manageunitcode=#rvManageunitCode#
        end
        else
        begin
        INSERT INTO ri_rcgoobpr
        (rcgoobpr_id,rvrcds_id,bnds,brnm,ri_manageunitcode,infndt,goennmcd,lfbnpl,wtlvbkin,brar,brdm,brinchwd,brigwtar,rvbrpl,
        rvbrin,rm,usercode,username,operationdate,errorflag,auditingflag,sendflag,flag)
        VALUES
           (#rcgoobpr_id#,#rvrcds_id#,#bnds#,#brnm#,#rvManageunitCode#,#infndt#,#goennmcd#,#lfbnpl#,#wtlvbkin#,#brar#,#brdm#,#brinchwd#,
        #brigwtar#,#rvbrpl#,#rvbrin#,#rm#,#usercode#,#username#,getdate(),#errorflag#,
        #auditingflag#,#sendflag#,#flag#)
        
        end
        commit tran t1
        <![CDATA[if(@@error>0)]]>
        begin
        rollback tran t1
        end

以上是用sqlserver2000开发的类似于oracle中的merge into 的语句,以上语句是在ibatis中开发的

2
1
分享到:
评论
1 楼 zhou2012 2012-03-31  
写个sql都不写注释?

相关推荐

Global site tag (gtag.js) - Google Analytics