一个SQL语句引发的ORA-00600错误排查(二)(r9笔记第65天)

继昨天一个SQL语句导致的ORA-00600错误之后,我给出了背景和初步的分析结果,今天来给出我的结论,当然说明原因不是我的本意,还有反思。一个SQL语句引发的ORA-00600错误排查(二)(r9笔记第65天)_第1张图片修复这几个语法之后,使用下面的方式就没有问题了。一个SQL语句引发的ORA-00600错误排查(二)(r9笔记第65天)_第2张图片看到的语句类似这样的形式: MERGE INTO UC_OPENPLATFORM_USER t                   USING (SELECT count(*) CNT from UC_OPENPLATFORM_USER whereSELECT :1 USER_ID,:2 PLATFORM from DUAL) tw                    ON (tw.USER_ID=T.USER_ID and tw.PLATFORM=t.PLATFORM)                    WHEN MATCHED THEN UPDATE SET t.NAME=:3, t.UPDATE_DATE=SYSDATE where USER_ID=:4 and PLATFORM=:5                    WHEN NOT MATCHED THEN INSERT(USER_ID, PLATFORM, NAME,

CREATE_DATE, UPDATE_DATE) VALUES(:6, :7, :8, SYSDATE, SYSDATE)        而对ORA-00600的这个问题,其实也可以进一步反思,这个merge使用只有一个场景,其实可以考虑使用INSERT语句来实现。

你可能感兴趣的:(一个SQL语句引发的ORA-00600错误排查(二)(r9笔记第65天))