Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:oracle_rename_alter_table

Ein Tabelle in Oracle umbenennen - Unterschied RENAME und ALTER TABLE - ORA-01765 und ORA-14047

Problem: „ORA-01765: specifying owner's name of the table is not allowed“ - „ORA-14047: ALTER TABLE|INDEX RENAME may not be combined with other operations“

Welche Möglichkeiten bestehen um eine Tabelle umzubennen?

  • RENAME xxxxx to yyyy;
  • ALTER TABLE schema.xxxx RENAME TO yyyyyy;

Aber was ist der Unterschied zwischen den beiden Möglichkeiten?

RENAME xxxxx to yyyy

Aus der Dokumentation:

.. Prerequisites

The object must be in your own schema.
..

D.h. ein Aufruf von:

CONNECT system
 
RENAME scott.emp TO scott.emp_orig;
 
 
ORA-01765: specifying owner s name OF the TABLE IS NOT allowed
 
 
-- Richiger Aufruf:
 
CONNECT scott
 
RENAME semp TO  emp_orig;

Eine Verwendung als NICHT Schema Owner führt zu einer Exception „ORA-01765: specifying owner's name of the table is not allowed“!

ALTER TABLE schema.xxxx RENAME TO yyyyyy

Hier kann nun das Schema angeben werden, es ist aber darauf zu achten, dass nur das umzubenennende Objekte inklusive Schema Namen angegeben wird!

D.h. ein Aufruf von:

-- Falsch
 
ALTER TABLE scott.emp  RENAME TO scott.emp_orig;
 
 
ORA-14047: ALTER TABLE|INDEX RENAME may NOT be combined WITH other operations
 
-- Richiger Aufruf:
 
 
ALTER TABLE scott.emp  RENAME TO emp_orig;

Quellen

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
prog/oracle_rename_alter_table.txt · Zuletzt geändert: 2019/05/16 08:43 von gpipperr