oracle数据库应用总结

1------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>merge into 函数的使用

MERGE INTO tb_yygl_xxplbbgl_log a  
        USING (  
              SELECT COUNT(*) COUNT
              FROM tb_yygl_xxplbbgl_log x
              WHERE  x.fund_code=#{pd.p8,jdbcType=VARCHAR} and x.bb_qj=#{pd.p9,jdbcType=VARCHAR}
          ) b  
        ON (b.count>0)  
        WHEN MATCHED THEN  
              UPDATE SET  a.beforstatus = '0',
                          a.afterstatus='1'
              WHERE a.fund_code=#{pd.p8,jdbcType=VARCHAR} and a.bb_qj=#{pd.p9,jdbcType=VARCHAR}
        WHEN NOT MATCHED THEN  
              insert (
                    ID,
                    REC_NAME,
                    CONTACT_WAY,
                    SEND_TYPE,
                    STATUS,
                    flag,
                    insert_time,
                    fund_code,
                    bb_qj,
                    bb_type,
                    <if test="pd.p11=='flagbefore'">
                      beforstatus,
                    </if>
                    <if test="pd.p11=='flagafter'">
                      afterstatus,
                    </if>
                    username
                    )
                    
             values(to_char(systimestamp,'yyyyMMddhh24missff'),
                        #{pd.p2,jdbcType=VARCHAR},
                        #{pd.p3,jdbcType=VARCHAR},
                        '1',
                        '0',
                        'inner',
                         sysdate,
                        #{pd.p8,jdbcType=VARCHAR},
                        #{pd.p9,jdbcType=VARCHAR},
                        #{pd.p10,jdbcType=VARCHAR},
                        <if test="pd.p11=='flagbefore'">
                         '0',
                        </if>
                        <if test="pd.p11=='flagafter'">
                          '1',    
                        </if>
                        #{pd.userName}            
                     )      
MERGE INTO T_EXPORT_RATE p 
                       USING (select #{pd.p2} exportrate,#{pd.p1} fund_code,#{pd.operatorRole} operatorRole,#{pd.userName}  userName from dual) np
                      ON (np.fund_code = p.fund_code)
            WHEN MATCHED THEN
                      UPDATE SET p.whetherexport='01',
                                          p.exportrate=np.exportrate,
                                            p.showdate='',
                                            p.update_date=sysdate,
                                            p.username=np.userName,
                                            p.operatorrole=np.operatorRole,
                                            p.if_holidays=''
            WHEN NOT MATCHED THEN
                     insert values (np.fund_code,'01',np.exportrate,'',sysdate,sysdate,np.userName,np.operatorRole,'') 
            

 

 

decode 函数的使用

 decode(tyxl.beforstatus,'0','发送成功',' ') beforedxstatus,

case when then else end 函数的应用

case
when (h.telephone is not null and h.email is not null) then
'0'
else
'1'
end isxpstatus

 

--复制表的操作

  create table t_fund_infobak  as select * from t_fund_info;

 

转载于:https://www.cnblogs.com/xiaofuzi123456/p/11211251.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值