SQL - Privremene tabele


Izrada privremenih tabela

Privremena tabela je tabela koja je vidljiva samo trenutnoj sesiji i automatski se ispušta kada se zatvori sesija u kojoj je stvorena. Budući da se privremene tabele ne pohranjuju u bazu podataka trajno, bilo bi korisno u situaciji kada vam je tabela potrebna samo kratko vrijeme da biste nešto izveli ili testirali, nakon čega želite da ona automatski izbriše.


Sintaksa

Izraz CREATE TEMPORARY TABLE koristi se za stvaranje privremene tabele.

CREATE TEMPORARY TABLE table_name (column definitions);

Ako želite stvoriti privremenu tabelu ispočetka, pri stvaranju tabele možete koristiti ključnu riječ TEMPORARY, tj. koristite CREATE TEMPORARY TABLE umjesto izraza CREATE TABLE. Pogledajte poglavlje kreiranja tabela za kompletnu sintaksu i primjere.



Stvaranje privremene kopije postojeće tabele

Privremene tabele mogu biti korisne u situacijama kada samo želite testirati SQL upite bez uticaja na bazu podataka. Stvorimo privremenu kopiju postojeće tabele u MySQL bazi podataka. Unesite sljedeću naredbu u naredbeni red MySQL-a i pritisnite enter:

mysql> CREATE TEMPORARY TABLE persons SELECT * FROM persons;

Gornja izjava stvara privremenu tabelu imenovanu persons iz skupa rezultata postojeće osnovne tabele persons. Takođe budući da je riječ o privremenoj kopiji tabele persons, stoga možete izvesti bilo koju operaciju poput INSERT, UPDATE ili DELETE bez brige da li ćete pogreškom uticati na izvornu bazu persons.



Brisanje privremenih tabela

Privremene tabele automatski se brišu kada se zatvori veza ili sesija baze podataka u kojoj su kreirane. Međutim, ako ih želite izbrisati bez zatvaranja trenutne sesije, možete koristiti izraz DROP TEMPORARY TABLE, kao u narednom primjeru:

mysql> DROP TEMPORARY TABLE persons;

Gornja izjava će izbrisati privremene osobe iz tabele baze podataka. Nakon toga postaje vidljiva osnovna tabela osoba (persons).