我想为我的 oracle 数据库制作一个增量脚本。
我只想修改一个过程签名,它的主体,其余的应该保持不变。
如何在不使用创建或替换重新创建孔包的情况下完成此操作?
示例
旧包
PROCEDURE LOAD_ITEMS(OUTCURSOR OUT SYS_REFCURSOR);
新包
PROCEDURE LOAD_ITEMS(P_ID IN CHAR, OUTCURSOR OUT SYS_REFCURSOR);
编辑:
通过增量脚本,我的意思是从以前的版本升级到这个版本的脚本。
而且我只想修改当前程序,而不是全部。
最佳答案
如果要更改包规范中的过程,则需要CREATE OR REPLACE
带有更改代码的整个包规范和正文。
而 ALTER PACKAGE
语句可用于重新编译整个包,它
[...] does not change the declaration or definition of an existing package. To redeclare or redefine a package, use the
CREATE PACKAGE
or theCREATE PACKAGE BODY
statement with theOR REPLACE
clause.
关于oracle - 更改过程包和包体 PL/SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8988061/