下面是一些PL/SQL,旨在在Oracle中创建一个非常简单的存储过程,基于通过SQL Developer IDE生成的代码。当我运行命令时,我收到了错误。在许多在线教程中,创建存储过程的说明不需要包(在源代码中)。在Oracle中什么时候需要一个包?我怎样才能把下面的代码修改得尽可能简单呢?
源代码:
CREATE OR REPLACE PROCEDURE PROCEDURE1
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World!');
END;
错误:
空包PROCEDURE1定义(没有public成员)。
供参考:
在运行上面的代码之前,我按照下面的说明构建了一个简单的存储过程示例,并通过Enterprise Library进行连接。
http://www.codeproject.com/Articles/19581/Microsoft-Enterprise-Library-Data-Access-Block-DAA避免错误的工作流程:
当使用SQL Developer IDE for Oracle时,在对象资源管理器中右键单击"{Database Name}> Procedures> New Procedure",在输入存储过程名称后单击OK,点击两档(Compile)按钮。
注意
绿色三角按钮用于运行编译后的过程,但在运行它之前需要先编译。
重现错误的工作流程:
当使用SQL Developer IDE for Oracle时,在对象资源管理器中右键单击"{数据库名称}>过程>新过程",并在输入存储过程名称后单击该对话框的OK,并单击绿色三角形(执行)按钮,我得到这个错误。
解决方案:
我右键单击{数据库名称},选择"打开SQL工作表",然后粘贴从上面的工作流生成的代码。然后点击绿色三角形(执行)按钮。
真是个*HIT IDE!
"I SLIT A SHEET"
"A SHEET I SLIT"
"我坐在那张裂开的纸上"