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

Posted

技术标签:

【中文标题】我们可以在没有规范的情况下在 oracle 中创建一个包,反之亦然【英文标题】:Can we create a package in oracle without specification and vice versa 【发布时间】:2014-03-04 16:48:35 【问题描述】:

Oracle 包是两部分的组合:规范和正文

在甲骨文中

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

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

【问题讨论】:

【参考方案1】:

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

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

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;
/

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

【讨论】:

【参考方案2】:

答案很简单:

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

【讨论】:

是的...as the documentation says,'一个包总是有一个规范'和'如果公共项目包括游标或子程序,那么包也必须有一个主体'。

以上是关于我们可以在没有规范的情况下在 oracle 中创建一个包,反之亦然的主要内容,如果未能解决你的问题,请参考以下文章

我可以在没有自动 ID 的情况下在 Django 中创建模型吗?

我可以在没有服务器的情况下在 access 2010 中创建存储过程吗? [复制]

如何在没有强关系键(外键)的情况下在数据库中创建 LINK?

我们可以在不使用 Visual Studio 的情况下在 Office 365 Online 中创建 SharePoint 自定义 Web 部件吗?

在没有在模型中定义的情况下在 rails 中创建 slug

如何在没有事件/委托回调的情况下在 Unity 中创建 MessageBox?