【问题标题】:Creation of a stored procedure requires a package in Oracle创建存储过程需要 Oracle 中的包
【发布时间】:2015-10-11 23:05:00
【问题描述】:

以下是一些 PL/SQL,旨在基于通过 SQL Developer IDE 生成的代码在 Oracle 中创建一个非常简单的存储过程。运行命令时收到错误消息。在许多在线教程中,创建存储过程的说明不需要包(在源代码中)。 Oracle 什么时候需要一个包?以及如何将下面的代码更正为尽可能简单?

源代码:

CREATE OR REPLACE PROCEDURE PROCEDURE1
IS
BEGIN

  DBMS_OUTPUT.PUT_LINE('Hello World!');

END;

错误:

空包 PROCEDURE1 定义(无公共成员)。

仅供参考:

在运行上述代码之前,我按照这些说明构建了一个简单的存储过程示例并通过企业库进行连接。此代码有效。

http://www.codeproject.com/Articles/19581/Microsoft-Enterprise-Library-Data-Access-Block-DAA

【问题讨论】:

  • 我已经在 sql developer 中运行了您的代码,并且可以正确编译。你当然不需要有一个包才能有一个程序。当您的 PL/SQL 代码看起来找到时,我会查看您的 IDE 是否有问题。
  • this 可能是相关的

标签: oracle stored-procedures package public-members


【解决方案1】:

避免错误的工作流程:

使用 SQL Developer IDE for Oracle 时,在对象资源管理器中右键单击“{Database Name} > Procedures > New Procedure”,输入存储过程名称后单击“确定”进入该对话框,单击两个齿轮(编译) 按钮。

注意

绿色三角按钮用于运行编译后的程序,但需要编译后才能运行。

【讨论】:

    【解决方案2】:

    重现错误的工作流程:

    使用 SQL Developer IDE for Oracle 时,在对象资源管理器中右键单击“{Database Name} > Procedures > New Procedure”,并在输入存储过程名称后单击该对话框的“确定”,并单击绿色三角形(执行)按钮,我收到此错误。

    解决方案:

    我右键单击 {Database Name} 并选择“打开 SQL 工作表”,然后粘贴从上面的工作流生成的代码。然后点击绿色三角形(执行)按钮。

    多么棒的*HIT IDE!

    “我切了一张纸”

    “我切开的一张纸”

    “我坐在那张开缝纸上”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      • 2012-07-11
      • 2020-06-15
      • 1970-01-01
      • 2011-02-09
      相关资源
      最近更新 更多