So benennen Sie eine Oracle-Prozedur um

8

Gibt es eine Möglichkeit, eine Oracle-Prozedur umzubenennen, ohne die Prozedur löschen und erneut erstellen zu müssen?

    
ash 08.02.2010, 11:26
quelle

4 Antworten

5

Leider gibt es für PL / SQL-Objekte kein Äquivalent von ALTER TABLE ... RENAME TO. Ich fürchte also, Sie müssen die Prozedur löschen und neu erstellen mit dem neuen Namen ....

... es sei denn, ein SYNONYM wird Ihre Bindung auflösen. Ohne zu wissen, warum Sie den Namen der Prozedur ändern möchten, ist es ein bisschen schwierig, Ratschläge zu geben.

    
APC 08.02.2010 11:53
quelle
2

Eine Möglichkeit wäre, eine Prozedur in einem Paket zu verwenden. Dann könnten Sie CREATE OR REPLACE PACKAGE ... und CREATE OR REPLACE PACKAGE BODY ... verwenden, um Ihr Ziel zu erreichen.

    
Pavel Mitrofanov 08.02.2010 14:18
quelle
1

Sie können eine Prozedur effektiv umbenennen, indem Sie einfach eine andere Prozedur mit dem neuen Namen erstellen, die einfach die alte Prozedur

aufruft
  

erstellen oder ersetzen Sie die Prozedur neuer_prozedur_name
  als
  beginnen

     

alter_Verfahrensname;

     

Ende;

    
geekzspot 09.02.2010 16:03
quelle
0
___ qstnhdr ___ So benennen Sie eine Oracle-Prozedur um ___ answer2222115 ___

Eine Möglichkeit wäre, eine Prozedur in einem Paket zu verwenden. Dann könnten Sie PACKAGE und PROCEDURE verwenden, um Ihr Ziel zu erreichen.

    
___ answer2221327 ___

Leider gibt es für PL / SQL-Objekte kein Äquivalent von PACKAGE BODY TO. Ich fürchte also, Sie müssen die Prozedur löschen und neu erstellen mit dem neuen Namen ....

... es sei denn, ein SYNONYM wird Ihre Bindung auflösen. Ohne zu wissen, warum Sie den Namen der Prozedur ändern möchten, ist es ein bisschen schwierig, Ratschläge zu geben.

    
___ tag123storedprocedures ___ Eine Subroutine, die für Anwendungen verfügbar ist, die auf ein relationales Datenbanksystem zugreifen. ___ qstntxt ___

Gibt es eine Möglichkeit, eine Oracle-Prozedur umzubenennen, ohne die Prozedur löschen und erneut erstellen zu müssen?

    
___ tag123oracle ___ Oracle Database ist ein Datenbankmanagementsystem mit mehreren Modellen, das von Oracle Corporation erstellt wurde. Verwenden Sie dieses Tag NICHT für andere Produkte von Oracle wie Java und MySQL. ___ answer2230444 ___

Sie können eine Prozedur effektiv umbenennen, indem Sie einfach eine andere Prozedur mit dem neuen Namen erstellen, die einfach die alte Prozedur

aufruft
  

erstellen oder ersetzen Sie die Prozedur neuer_prozedur_name
  als
  beginnen

     

alter_Verfahrensname;

     

Ende;

    
___ antwort2222818 ___

Es gibt keine Möglichkeit, eine Prozedur umzubenennen, wenn Sie sie nicht löschen und erneut erstellen. Jedenfalls:

  • Wenn Sie viele Prozeduren haben, müssen Sie DBA_TAB_PRIVS s anstelle von %code% s verwenden. Auf diese Weise müssten Sie nur die %code% .
  • ändern
  • Wenn Ihr Problem darin besteht, die Grants neu zu erstellen, können Sie einfach ein Skript erstellen, um %code% abzufragen (ja, enthält auch Privilegien für Prozeduren).
___
FerranB 08.02.2010 15:56
quelle

Tags und Links