如何重命名Oracle过程

时间:2010-02-08 11:26:08

标签: oracle stored-procedures

有没有办法重命名oracle过程,而不必删除并重新创建过程?

4 个答案:

答案 0 :(得分:5)

遗憾的是,对于PL / SQL对象,没有等效的ALTER TABLE ... RENAME TO。所以我担心你将不得不放弃程序并使用新名称重新创建它....

...除非使用SYNONYM将解析您的绑定。如果不知道为什么您想要更改程序名称,那么提供建议会有点困难。

答案 1 :(得分:2)

解决这个问题的方法是使用包内的过程。然后,您可以使用CREATE OR REPLACE PACKAGE ...CREATE OR REPLACE PACKAGE BODY ...来实现目标。

答案 2 :(得分:1)

您可以通过简单地创建另一个程序(使用新名称)来简单地重命名过程,该过程只需调用旧过程

  

创建或替换程序 new_procedure_name
  作为
  开始

     

old_procedure_name;

     

端;

答案 3 :(得分:0)

除非您删除并再次创建过程,否则无法重命名过程。无论如何:

  • 如果您有很多程序,则必须使用PACKAGE代替PROCEDURE s。这样您只需要更改PACKAGE BODY
  • 如果您的问题是重新创建授权,您可以轻松创建一个脚本来查询DBA_TAB_PRIVS(是的,还包含过程权限)。