Kopia schematu tabeli

0

Jak mogę skopiować schemat tabeli. Czyli table z nazwą kolumn ale bez rekordów w Oracle ?

0
create table xyz_new as select * from xyz where 1=0;

(wujek google :) )

0

Tylko należy pamiętać, że tak się nie skopiują indexy, klucze etc. W sumie nie wiem czy to podlega pod "schemat tabeli" czy nie :P

1

pobierasz DDLa, zmieniasz nazwę tabeli (i constrainów jeśli są nazwane) i odpalasz skrypt

0

Masz do tego np. pakiet dbms_metadata.

Najprostsze użycie:

select dbms_metadata.get_ddl('TABLE','TABELKA','OWNER') from dual;

Przed pobraniem DDLa, można wskazać parametry, które mają ulec zmianie, np. mapowanie OWNER na OWNER2, czy wycięcie klauzuli dotyczącej fizycznego składowania danych. Takiego DDLa można zapakować do zmiennej i wykonac via EXECUTE IMMEDIATE

Inna opcja to expdp/impdp, które ma możliwość działania po db linkach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1