Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重命名Oracle 10g中包中的存储过程_Oracle_Stored Procedures_Rename - Fatal编程技术网

重命名Oracle 10g中包中的存储过程

重命名Oracle 10g中包中的存储过程,oracle,stored-procedures,rename,Oracle,Stored Procedures,Rename,我在Oracle 10g的软件包中有一个SP。我使用Oracle SQL Developer访问数据库。如何重命名此SP?解决方案之一是使用以下命令 create or replace procedure new_procedure_name as begin old_procedure_name; end; 这是我在StackOverflow()上找到的解决方案。还有很多人建议我们需要删除并创建一个新的SP。我的东西在一个包中,我认为上面的命令在那里不起作用 您只需打开包,更改过程的名称

我在Oracle 10g的软件包中有一个SP。我使用Oracle SQL Developer访问数据库。如何重命名此SP?解决方案之一是使用以下命令

create or replace procedure new_procedure_name
as
begin 
old_procedure_name; 
end;

这是我在StackOverflow()上找到的解决方案。还有很多人建议我们需要删除并创建一个新的SP。我的东西在一个包中,我认为上面的命令在那里不起作用

您只需打开包,更改过程的名称,然后重新编译。当你打开它时,它应该说

create or replace package ...

(用于创建或替换过程)

您只需打开包,更改过程名称,然后重新编译。当你打开它时,它应该说

create or replace package ...
(用于创建或替换过程)

您发布的内容:

create or replace procedure new_procedure_name as
begin 
old_procedure_name; 
end;
这是一种有效的方法。然而,这只会给你带来麻烦。
old\u procedure\u name
new\u procedure\u name
之间没有明显的联系(尽管显然是相反的)

更好的方法是找到在版本控制系统上存储包/过程的位置。更改名称,提交它,然后重新编译包

无论是独立的函数/过程还是包内的函数/过程,这都适用

重新编译实际上是“删除”,因为您必须用新版本替换当前版本,也就是说,我完全同意您的链接问题。

您发布的内容:

create or replace procedure new_procedure_name as
begin 
old_procedure_name; 
end;
这是一种有效的方法。然而,这只会给你带来麻烦。
old\u procedure\u name
new\u procedure\u name
之间没有明显的联系(尽管显然是相反的)

更好的方法是找到在版本控制系统上存储包/过程的位置。更改名称,提交它,然后重新编译包

无论是独立的函数/过程还是包内的函数/过程,这都适用


重新编译实际上是“删除”,因为您必须用新版本替换当前版本,即我完全同意您的链接问题。

感谢@Ben和@AlejoBrz花时间回答我的问题。这是帮助我的一位更有经验的开发人员所做的。只需转到软件包,右键单击并编译它,然后将Pckg_主体下的SP重命名为另一个名称,重命名软件包下的SP,重新编译,然后更改名称@AlejoBrz,我不知道有一个PCKG和一个PCKG_主体,所以我不明白为什么右键单击时,我没有得到拖放/创建选项。这只适用于PCKG,不适用于PCKG身体。

感谢@Ben和@AlejoBrz花时间回答我的问题。这是帮助我的一位更有经验的开发人员所做的。只需转到软件包,右键单击并编译它,然后将Pckg_主体下的SP重命名为另一个名称,重命名软件包下的SP,重新编译,然后更改名称@AlejoBrz,我不知道有一个PCKG和一个PCKG_主体,所以我不明白为什么右键单击时,我没有得到拖放/创建选项。它只适用于PCKG,而不适用于PCKG身体。

嗯……我有一个包,里面有大约10个SP,每个SP有大约2000行代码。此外,我如何创建或替换它。我使用SQLDeveloper,在菜单中或右键单击包时都没有看到任何命令。你能详细说明一下吗?Thanks@Raghu我没有特别使用SQL Developer,但我使用的IDE只是浏览了所有包,选择一个,右键单击它,它将打开为“创建或替换包[packageName]”。然后转到过程,重命名它,并编译整个包。在此之后,您应该确保没有其他包无效,如果是的话,请重新编译它们。这是帮助吗?嗯..我有一个包,里面大约有10个SP,每个SP大约有2000行代码。此外,我如何创建或替换它。我使用SQLDeveloper,在菜单中或右键单击包时都没有看到任何命令。你能详细说明一下吗?Thanks@Raghu我没有特别使用SQL Developer,但我使用的IDE只是浏览了所有包,选择一个,右键单击它,它将打开为“创建或替换包[packageName]”。然后转到过程,重命名它,并编译整个包。在此之后,您应该确保没有其他包无效,如果是的话,请重新编译它们。这有帮助吗?谢谢Gaurav。建议被采纳了,汉克斯·高拉夫。接受建议