Archive for październik, 2007

Zmiana nazwy obiektu - RENAME

piątek, październik 26th, 2007

Potrzeba zmiany nazwy obiektu wystepuje często. Najczęściej w środowiskach hurtowni danych, gdzie dane przenoszone sa z tablicy do tablicy ( lub z partycji do partycji ). Nazwy obiektów często zmieniane są w środowiskach developerskich i pozostałych podczas instalacji nowych wersji aplikacji.

By spełnić te wymagania Oracle dostarcza komendę RENAME.
Pełna składnia:

rename <stara-nazwa> to <nowa-nazwa>

jednak działa ona tylko dla tablic, widoków , sekwencji i synonimów.

Natomiast dla innych typów obiektów należy użyć komendy ALTER. Składnia jest następujaca:

alter <typ-obiektu> <stara-nazwa> rename to <nowa-nazwa>

Gdzie <typ-obiektu> moze być:

  • table
  • view
  • index
  • trigger
  • outline

Można zmienić nazwę partycji lub subpartycji tablicy i indexu:

ALTER TABLE <moja-tablica> RENAME PARTITION <stara-nazwa-partycji> TO <nowa-nazwa-partycji>;
ALTER INDEX <moj-index> RENAME PARTITION <stara-nazwa-partycji> TO <nowa-nazwa-partycji>;

ALTER TABLE <moja-tablica> RENAME SUBPARTITION <stara-nazwa-subpartycji> TO <nowa-nazwa-subpartycji>;
ALTER INDEX <moj-index> RENAME SUBPARTITION <stara-nazwa-subpartycji> TO <nowa-nazwa-subpartycji>;

By zmienić nazwę kolumny tablicy:

ALTER TABLE <moja-tablica> RENAME COLUMN <stara-nazwa-kolumny> TO <nowa-nazwa-kolumny>;

Gdy zmieniamy nazwę obiektu, zmieniają się odpowiednio constraint‘y, indexy i triggery bazujące na zmienianej tablicy.
Natomiast obiekty PL/SQL ( pakiety, funkcje, procedury, typy etc.) i widoki zostają zinwalidowane ( INVALID ) i wymagają poprawienia kodu.

ALTER (…) RENAME TO nie można użyć dla wielu typów obiektów. Między innymi:

  • function
  • procedure
  • package [body]
  • etc.

Pozostaje usunięcie starego obiektu (DROP) i stworzenie nowego (CREATE).

Oracle Database 11g Release 1 dla Windows już jest.

środa, październik 24th, 2007

ORA-08102 zamiast ORA-1. Czkawka

środa, październik 24th, 2007

Commit 2PC i materialized view

czwartek, październik 11th, 2007

Maksymalna wielkość VARCHAR2 ( VARCHAR )

czwartek, październik 11th, 2007

SAP kupuje Business Objects

wtorek, październik 9th, 2007

Szachy Ursus