PL SQL过程声明/定义

时间:2013-04-19 16:31:25

标签: plsql plsqldeveloper

我是PL / SQL的新手,所以只是想弄清楚创建包的一般流程

CREATE OR REPLACE PACKAGE P1 AS
     PROCEDURE PROC1
     (
     );
END P1;

CREATE OR REPLACE PACKAGE BODY P1 AS
    //package definition
END P1;

这是定义包的正确方法吗?

基本上,我试图找出是否可以声明包并在同一文件中定义包体,还是需要创建2个单独的文件?

当我尝试执行它时,我收到错误Encountered the word 'PROCEDURE' when expecting one of the following

2 个答案:

答案 0 :(得分:0)

通常,您在文件中具有包的规范,而在另一个文件中具有主体的规范。你为什么要把它们放在同一个文件里?

答案 1 :(得分:0)

对于单个包而言无关紧要,但您必须在正文之前声明规范。

在创建多个包的地方,最好先创建所有规范,因为即使它们引用了尚未创建主体的其他包,主体也可以编译。