Merge into bug?

在ORACLE 11.2.0.3上执行merge into 里面sql 入下形式:

merge into DCDW.t1 Target

    using (select Org_code Org_code,

                  BUSS_DATE,

                  BUSS_NO,

                 ...

             from (SELECT E.BUSS_NO BUSS_NO,

                          E.Org_code  Org_code,

                          ..

                     FROM DCDW.T E

                   

                    WHERE

                        E.MODIFIED_DATE >= IN_BEGIN_DATE

                      AND E.MODIFIED_DATE <= IN_END_DATE)

            group by  BUSS_NO,Org_code,BUSS_DATE) Source

    ON (Target.ORG_CODE = Source.Org_code and target.BUSS_TYPE = '1' AND target.BUSS_DATE = source.BUSS_DATE AND target.BUSS_NO = source.BUSS_NO)

    WHEN NOT MATCHED THEN

      INSERT

        ..

    WHEN MATCHED THEN

      UPDATE

         SET ..;

咋都会错误,在ORACLE 11.2.0.1上执行正常,修改以下sql,在各个版本执行都正常,唯一区别是max(org_code)

erge into DCDW.t1 Target

    using (select max(Org_code) Org_code,

                  BUSS_DATE,

                  BUSS_NO,

                 ...

             from (SELECT E.BUSS_NO  BUSS_NO,

                          E.Org_code  Org_code,

                          ..

                     FROM DCDW.T E

                   

                    WHERE

                        E.MODIFIED_DATE >= IN_BEGIN_DATE

                      AND E.MODIFIED_DATE <= IN_END_DATE)

            group by  BUSS_NO,BUSS_DATE) Source

    ON (Target.ORG_CODE = Source.Org_code and target.BUSS_TYPE = '1' AND target.BUSS_DATE = source.BUSS_DATE AND target.BUSS_NO = source.BUSS_NO)

    WHEN NOT MATCHED THEN

      INSERT

        ..

    WHEN MATCHED THEN

      UPDATE

         SET ..;

 

奇怪得很!make下!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值