【发布时间】:2012-03-09 09:20:04
【问题描述】:
假设您在 Oracle 10g 中创建了一个包,并在该包中定义了一个过程和一个函数。 现在,如何删除创建的包中的特定过程或函数,而无需物理删除包?即不使用 DROP PACKAGE package_name
我想知道我是否真的可以执行上述操作。提前感谢您的任何建议和解决方案。
【问题讨论】:
假设您在 Oracle 10g 中创建了一个包,并在该包中定义了一个过程和一个函数。 现在,如何删除创建的包中的特定过程或函数,而无需物理删除包?即不使用 DROP PACKAGE package_name
我想知道我是否真的可以执行上述操作。提前感谢您的任何建议和解决方案。
【问题讨论】:
由于包中的所有对象都作为一个单元存储,Oracle 不允许您在不替换整个包主体的情况下修改、删除或添加包或功能。
您可以在at the Oracle forums这个主题上找到一些讨论。
【讨论】:
CREATE OR REPLACE PACKAGE;只需CREATE OR REPLACE PACKAGE BODY.Oracle 会根据包规范而不是包体来授予和跟踪依赖关系。