Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:oracle_rename_alter_table

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
prog:oracle_rename_alter_table [2019/05/15 10:33] – [RENAME xxxxx to yyyy] gpipperrprog:oracle_rename_alter_table [2019/05/16 08:43] (aktuell) – [ALTER TABLE schema.xxxx RENAME TO yyyyyy] gpipperr
Zeile 1: Zeile 1:
 +=====Ein Tabelle in Oracle umbenennen - Unterschied RENAME und ALTER TABLE - ORA-01765 und ORA-14047=====
 +
 +
 +
 +<fc #ff0000>**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"
 +**</fc>
 +
 +
 +
 +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:
 +<code>
 +.. Prerequisites
 +
 +The object must be in your own schema.
 +..
 +</code>
 +
 +D.h. ein Aufruf von:
 +<code sql>
 +
 +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;
 +
 +
 +</code>
 +
 +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:
 +<code sql>
 +
 +-- 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;
 +
 +</code>
 +
 +
 +
 +
 +----
 +
 +
 +
 +====Quellen====
 +
 +
 +  * Oralce 19c Doku
 +  * ALTER TABLE => https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ALTER-TABLE.html#GUID-552E7373-BF93-477D-9DA3-B2C9386F2877
 +  * RENAME => https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/RENAME.html#GUID-573347CE-3EB8-42E5-B4D5-EF71CA06FAFC
 +
 +
 +
  
prog/oracle_rename_alter_table.txt · Zuletzt geändert: 2019/05/16 08:43 von gpipperr