Wie lautet die Syntax zum Umbenennen einer Tabelle oder Ansicht in Oracle?
ALTER TABLE mytable RENAME TO othertable
Im Oracle 10g
ebenfalls:
RENAME mytable TO othertable
Um eine Tabelle umzubenennen, können Sie Folgendes verwenden:
RENAME mytable TO othertable;
oder
ALTER TABLE mytable RENAME TO othertable;
oder, falls im Besitz eines anderen Schemas:
ALTER TABLE owner.mytable RENAME TO othertable;
Interessanterweise unterstützt ALTER VIEW das Umbenennen einer Ansicht nicht. Sie können jedoch:
RENAME myview TO otherview;
Der Befehl RENAME funktioniert nur für Tabellen, Ansichten, Sequenzen und private Synonyme für Ihr eigenes Schema.
Befindet sich die Ansicht nicht in Ihrem Schema, können Sie die Ansicht mit dem neuen Namen neu kompilieren und dann die alte Ansicht löschen.
(getestet in Oracle 10g)
Versuchen Sie Folgendes, um eine Tabelle in einem anderen Schema umzubenennen:
ALTER TABLE owner.mytable RENAME TO othertable;
Der Umbenennungsbefehl (wie in "rename mytable to othertable
") unterstützt nur das Umbenennen einer Tabelle im selben Schema.
Man kann Indizes umbenennen auf die gleiche Weise:
alter index owner.index_name rename to new_name;
Nach 10 g funktioniert die aktuelle Antwort nicht mehr zum Umbenennen von Ansichten. Die einzige Methode, die noch funktioniert, ist das Löschen und Neuerstellen der Ansicht. Der beste Weg, dies zu tun, wäre:
SELECT TEXT FROM ALL_VIEWS WHERE owner = 'some_schema' und VIEW_NAME = 'some_view';
Fügen Sie dies vor dem zurückgegebenen SQL hinzu
Erstellen oder ersetzen Sie die Ansicht some_schema.new_view_name als ...
Löschen Sie die alte Ansicht
Drop view some_schema.some_view;