有没有办法重命名oracle过程,而不必删除并重新创建过程?
答案 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
(是的,还包含过程权限)。