środa, 24 listopada 2010

Tabele tymczasowe

W Oracle możemy stworzyć tabelę tymczasową która będzie przechowywać dane  tylko w czasie bieżącego połączenia.
Tabela tymczasowa dostępna jest z wielu sesji.
Zawartość takiej tabeli widoczna jest tylko dla aktualnej sesji.
Wykorzystujemy taki byt do chwilowego przechowywania danych.
Możemy stworzyć taką tabelę w sposób zbliżony do tworzenia zwykłej tabeli (różnica w dodaniu GLOBAL TEMPORARY):

Podając kolumny:



Na podstawie zapytania :


Warunek "where 1!=1" jest po to, by skopiować tylko strukturę tabeli bez danych. Posiadając taką tabelę, mamy możliwość zrobienia sobie czegoś w rodzaju backupu. Czyli wrzucamy sobie przykładowo zawartość tabeli employees do tabeli tymczasowej, robimy jakieś fiku miku na tabeli employees a w razie jakbyśmy coś spraprali mamy poprzedni stan danych łatwo dostępny w tabeli tymczasowej bez potrzeby robienia normalnych backupów.






Wyższość tego rozwiązania nad tworzeniem zwykłej tabeli do tego samego celu, polega na tym że po zakończeniu sesji dane z tabeli tymczasowej znikają. Dzięki temu nie zostają nam śmieci zajmujące miejsce, a zupełnie nie potrzebne nam później.

1 komentarz: