Oracle ORA 错误评估顺序

Oracle ORA Errors evaluation order

提问人:Tomás 提问时间:11/15/2023 更新时间:11/15/2023 访问量:31

问:

关于 ORA 错误代码,我可以假设它们按升序进行评估吗?

假设我收到错误 ORA-01031。在这种情况下,这是否意味着代码小于 1031(例如 ORA-00904)的所有其他可能错误都已成功克服?

SQL Oracle 错误处理

评论

1赞 Paul W 11/15/2023
不,每个错误代码都是唯一的。它们之间没有相关性。Oracle 内部代码中可能出现错误情况的每个位置都会被检测以捕获该情况并抛出该情况所需的任何数字。我确定有一个解析评估的顺序,但据我所知,它没有发布。实验并找出:)

答:

4赞 Alex Poole 11/15/2023 #1

不。举个微不足道的例子,情况并非如此:

select no_such_column from no_such_table;
ORA-00942: table or view does not exist
select no_such_column from dual;
ORA-00904: "NO_SUCH_COLUMN": invalid identifier

小提琴

修复 ORA-00942 后发现 ORA-00904,这是一个较低的数字。

Oracle 决定如何以及以何种顺序评估查询、更新或匿名块,并在发现错误时抛出任何适当的错误。它不会按错误编号顺序通过。与错误号没有特别的相关性。