我们可以在没有规范的情况下在oracle中创建一个包,反之亦然

时间:2014-03-04 16:48:36

标签: oracle plsql

Oracle包由两部分组成:规范和正文

在oracle中

我们可以创建一个没有正文的包规范吗?

我们可以创建一个没有规范的包体吗?

2 个答案:

答案 0 :(得分:3)

答案很简单:

规格 - 是的。正文 - 否(它将被创建但无效)。

答案 1 :(得分:2)

我们可以创建一个没有正文的包规范吗?

是的,当包只包含变量和/或类型声明时,这些非常有用,例如

CREATE PACKAGE no_body AS
  gc_yes CONSTANT VARCHAR2(1) := 'Y';
END;

我们可以创建一个没有规范的包体吗?

是的,你可以,但它不是很有用,因为它无效且无法使用,例如:

CREATE PACKAGE BODY no_spec AS
  PROCEDURE myproc AS BEGIN null; END;
END no_spec;
/

在为其编译包规范之前,包体将无法使用。