oracle ORA:00900 无效的 sql 语句

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1960597/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-18 19:44:04  来源:igfitidea点击:

ORA:00900 Invalid sql statement

sqloracleplsqlora-00900

提问by maheswari

i created a procedure with 32 in argument,it sucessfully created.but when i am executing this in back end oracle the errror came ORA:00900 Invalid sql statement

我创建了一个参数为 32 的过程,它已成功创建。但是当我在后端 oracle 中执行此操作时,出现错误 ORA:00900 Invalid sql statement

回答by OMG Ponies

Use:

用:

SQL>  alter procedure [your procedure name here] compile;
SQL>  show errors

...to be able to diagnose the issue from the resulting error output.

...能够从产生的错误输出中诊断问题。

回答by pj.

Also look at view USER_ERRORS.

还看视图USER_ERRORS

Sometimes, show errors does not show anything when in fact there are errors. Especially after alter compile.

有时,当实际上存在错误时,显示错误不会显示任何内容。特别是在alter compile之后。

Finally, re-compile in TOAD or SQL Developer and you can easily navigate to the error.

最后,在 TOAD 或 SQL Developer 中重新编译,您可以轻松定位到错误。

回答by user2518618

In Oracle SQL Developer you should execute it this way:

在 Oracle SQL Developer 中,您应该这样执行:

BEGIN
    YOUR_PROCEDURE(PARAM1, PARAM2);
END;

If you use EXECUTE or EXEC (which work in SqlPlus) you get the ORA-00900 error.

如果您使用 EXECUTE 或 EXEC(在 SqlPlus 中工作),您会收到 ORA-00900 错误。