如何找到导致ora-06575的错误?

Ale*_*lex 4 oracle plsql oracle-sqldeveloper

最近我不得不写一个oracle函数,错误ora-06575突然出现了很多.通常是因为分配中缺少冒号,例如:z = 5(vs. z:= 5)或错过';' 在声明的最后.

无论如何,我能够创建该函数,但是在执行该错误时它失败了,并没有提示问题在哪里(除了它在函数中).

我在MSSQL和Sybase中编写了相同的函数,这两个函数实际上都试图将我指向任何错误的位置.所以我认为我在Oracle中做错了 - 它不能只告诉我'有错误'.

在oracle中我有这样的声明:

CREATE OR REPLACE
  FUNCTION...
Run Code Online (Sandbox Code Playgroud)

我正在通过选择函数来编译SQL开发人员的函数,然后按F9.当我选择执行该函数的语句,并按F9时,我得到ora-06575错误.

如果按F5编译该函数,它会告诉我:

ORA-24344: success with compilation error

  Compiled.
Run Code Online (Sandbox Code Playgroud)

所以我找到了这个网站:http://www.dba-oracle.com/t_ora_24344_success_with_compilation_error.htm 但我似乎无法运行'show errors'.当我运行它时,我得不到我能看到的输出.

这只能在sqlplus上运行吗?我正在使用SQL开发人员,我更愿意坚持使用SQL开发人员.有什么我想念的吗?我希望它告诉我错误在哪里.

A.B*_*ade 10

SHOW ERRORS是一个sql*plus命令
您也可以查询该USER_ERRORS视图

SELECT line, position, text
FROM user_errors
WHERE name = '<<your_object_name>>'
Run Code Online (Sandbox Code Playgroud)