Przywrócenie tabeli

0

Witam,
Mam tabele, w której zrobiłem już jakieś zmiany (dodałem kolumny, dodałem dane itp).
Przed wykonaniem zmian utworzyłem kopie tabeli poprzez:

create table kopia_tabeli as (select * from tabela_stara)

Chciałbym przywrócić tą tabelę do stanu sprzed zmian.
Czy powinienem ją zdropować i zrobic nową - może to być niemożliwe ze względu na dane powiązane z innymi tabelami.
Czy powinienem zrobic trunc i insert z kopii?
Dzięki i pozdrawiam

0

Najszybciej będzie zrobić

RENAME TABLE NAZWA_TABELI TO NAZWA_TO_DROP
/
RENAME TABLE kopia_tabeli  TO prawidlowa_nazwa
/
DROP table NAZWA_TO_DROP
/

pisałem z głowy więc zweryfikuj to sobie po swojej stronie

Jest jeszcze jedna kwestia o której musisz pamiętać. Jeżeli posiadasz jakieś obiekty typu funkcje, procedury które z tej tabeli korzystają to w zależności od wersji oracle (w 10g na 100% tak się dzieje w 11g tylko w określonych przypadkach) te źródła "zależne" Ci się "rozkompilują" i będziesz je musiał potem skompilować ponownie. Jeśli masz takie sytuacje to lepiej robić truncate table a potem insert z select z drugiej tabeli kopia

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