问题描述
嗨!
我在12c上运行这个小SQL,也在11g上尝试过,并且两者都出现了内部错误。我不明白为什么。可能是一个错误,正如stackoverflow中的人所指出的那样,我最初询问的是:https://stackoverflow.com/questions/53527981/why-this-sql-causes-an-internal-error-in-oracle
它的工作原理,如果我从row_number() 删除desc关键字。但是我可以保留desc并删除任何c1 e c2列,它也可以正常工作。尽管如此,我可以通过c3删除订单或将其设置为desc,然后它将再次起作用。无法理解为什么它不能正常工作。
谢谢。
我在12c上运行这个小SQL,也在11g上尝试过,并且两者都出现了内部错误。我不明白为什么。可能是一个错误,正如stackoverflow中的人所指出的那样,我最初询问的是:https://stackoverflow.com/questions/53527981/why-this-sql-causes-an-internal-error-in-oracle
select sysdate c1, sysdate c2, row_number() over(order by sysdate, sysdate desc) c3 from dual order by c3
它的工作原理,如果我从row_number() 删除desc关键字。但是我可以保留desc并删除任何c1 e c2列,它也可以正常工作。尽管如此,我可以通过c3删除订单或将其设置为desc,然后它将再次起作用。无法理解为什么它不能正常工作。
谢谢。
专家解答
ORA-00600是一个错误,就这么简单。把它想象成你的应用程序中的核心转储-我们走了一条我们不打算这样做的代码路径。
在support.oracle.com上有许多15851的bug引用。因此,可能已经有一个补丁程序-您需要在支持下记录呼叫才能进行此操作。
SQL> select
2 sysdate c1,
3 sysdate c2,
4 row_number() over(order by sysdate, sysdate desc) c3
5 from dual
6 order by c3;
row_number() over(order by sysdate, sysdate desc) c3
*
ERROR at line 4:
ORA-00600: internal error code, arguments: [15851], [3], [2], [1], [1], [], [], [], [], [], [], []
在support.oracle.com上有许多15851的bug引用。因此,可能已经有一个补丁程序-您需要在支持下记录呼叫才能进行此操作。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




