【问题标题】:ORA:00900 Invalid sql statementORA:00900 无效的 sql 语句
【发布时间】:2010-12-29 22:57:33
【问题描述】:

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

【问题讨论】:

  • 请发布您创建的 SQL 过程。
  • 该错误可能与 32 参数过程无关,而与您在 SQL 中使用的语法有关。如果您需要帮助,您需要发布一些详细信息。

标签: sql oracle plsql ora-00900


【解决方案1】:

用途:

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

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

【讨论】:

  • ORA-900 表明它可能不是程序本身,而是他用来调用它的 SQL;或者,也许该过程正在尝试执行一些动态 SQL。我认为,无论哪种方式显示错误都不应该显示任何内容。
【解决方案2】:

同时查看USER_ERRORS视图。

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

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

【讨论】:

    【解决方案3】:

    在 Oracle SQL Developer 中你应该这样执行它:

    BEGIN
        YOUR_PROCEDURE(PARAM1, PARAM2);
    END;
    

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

    【讨论】:

      猜你喜欢
      • 2011-07-17
      • 1970-01-01
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 2017-05-12
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多