我在Oracle 10g的软件包中有一个SP。我使用Oracle SQL Developer来访问Dbs。如何重命名此SP?其中一个解决方案是以下命令。
create or replace procedure new_procedure_name
as
begin
old_procedure_name;
end;
这是我在StackOverflow(old post)上找到的解决方案。还有很多人建议我们需要删除并创建一个新的SP。我的东西在一个包中,我不认为上面的命令在那里工作。
答案 0 :(得分:3)
您发布的内容:
create or replace procedure new_procedure_name as
begin
old_procedure_name;
end;
是一种有效的方法。但是,它只会给你带来麻烦。 old_procedure_name
和new_procedure_name
之间没有明显的联系(虽然显然还有另一种方式)。
目前为止,最好找到您的软件包/程序存储在版本控制系统中的位置。更改名称,提交它,然后重新编译包。
这适用于它是一个独立的功能/程序还是一个包内。
重新编译实际上是一个" drop"因为你必须用新版本替换当前版本,即我完全同意你的链接问题。
答案 1 :(得分:0)
您只需打开包,更改过程的名称,然后重新编译即可。当你打开它应该说
create or replace package ...
(因为选择创建或替换程序)
答案 2 :(得分:0)
感谢@Ben和@AlejoBrz花时间回答我的问题。这是一位经验丰富的开发人员,帮助过我。只需转到包,右键单击并编译它,然后将Pckg_body下的SP重命名为另一个名称,重命名包下的SP,重新编译并更改名称。 @AlejoBrz,我不知道有一个PCKG和一个PCKG_BODy,所以我迷失了为什么在右击,我没有得到drop / create选项。它仅适用于PCKG,而不适用于PCKG_body。