webentwicklung-frage-antwort-db.com.de

Benennen Sie Oracle Table oder View um

Wie lautet die Syntax zum Umbenennen einer Tabelle oder Ansicht in Oracle?

49
Steven
ALTER TABLE mytable RENAME TO othertable

Im Oracle 10g ebenfalls:

RENAME mytable TO othertable
80
Quassnoi

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)

27
Jeffrey Kemp

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.

10
Pop

Man kann Indizes umbenennen auf die gleiche Weise:

alter index owner.index_name rename to new_name;
1
Maurício

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;

1
Wouter