如何从破坏的查询中获取实际的错误值?

时间:2018-03-29 14:30:53

标签: sql oracle plsql

我有一个很长的插入查询,它给了我一个" ORA-01722:无效的数字"错误,这通常很简单。但是这次我需要知道 IN FACT 值是错误的。

我该怎么做? 我用了建筑

BEGIN
--longest spaghetti ever
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('Error: '||sqlerrm);
END;

但它只给了我该死的错误代码,仅此而已。

1 个答案:

答案 0 :(得分:4)

如果您使用10g或以上,则可以使用EXCEPTION WHEN OTHERS THEN my_putline ( DBMS_UTILITY.FORMAT_ERROR_STACK); END; 。它将返回完整的错误消息。通过这种方式,您可以获得错误的行号,并可以直接查看问题。

{{1}}