Global Temporary Table
Global Temporary Table (GTT):
Versione database: Oracle Database 11g
Ambiente: DWH
Questo tipo di tabella definisce una tabella temporanea per la connessione corrente, queste tabelle non risiedono nel file cataloghi di sistema e non sono persistenti. Le tabelle temporanee esistono solo durante la connessione dichiarata e non è possibile fare riferimento al di fuori di tale connessione. Quando la connessione si chiude, le righe della tabella sono eliminata e la tabella viene eliminata.
Le tabelle temporanee sono utili quando:
-
La struttura della tabella non è nota prima di utilizzare un’applicazione.
-
I dati nella tabella temporanea sono necessari durante l’utilizzo dell’applicazione.
-
La tabella può essere dichiarata e rilasciata senza mantenere i blocchi sul catalogo di sistema
Come creare una tabella temporanea globale:
CREATE GLOBAL TEMPORARY TABLE table name
( column name and its data type )
[ ON COMMIT {DELETE | PRESERVE} ROWS ] ;
Tipo di opzione:
ON COMMIT
Specifica l’azione eseguita sulla tabella temporanea globale quando viene eseguita un’operazione COMMIT
DELETE ROWS
Questo è il valore predefinito per ON COMMIT.
Con l’opzione ON ROLLBACK DELETE ROWS questa azione cancellerà tutte le righe della tabella solo se il file è stata utilizzata una tabella temporanea.
Con l’opzione ON COMMIT DELETE ROWS questa azione cancellerà le righe nella tabella anche se la tabella lo era non usato.
PRESERVE ROWS
ie:
DROP TABLE gtt3 PURGE; — opzione di eliminazione rimuove la tabella dal cestino
CREATE GLOBAL TEMPORARY TABLE gtt3(
key_leaf VARCHAR2(7),
field_name VARCHAR2(50),
field_value VARCHAR2(50) )
ON COMMIT PRESERVE ROWS
tablespace TEMP (*) ;
(*) non è possibile specificare lo spazio tabella per GTT, perché questo tipo di tabella viene istanziato nel file temporaneo tablespace dello schema che inserisce i dati, non nel tablespace temporaneo “predefinito”.
Around the scenery GTT’s:
-
Istruzione Truncate solo i dati specifici della sessione vengono troncati
-
Gli indici possono essere creati su tabelle temporanee
-
È possibile creare visualizzazioni su tabelle temporanee
-
Le tabelle temporanee possono avere trigger
Excursus:
- Tabelle temporanee globali e annullamento
- Tabelle temporanee globali e Ripeti
case of:
- Export and Import
- Statistics on temporary tables
- Any restriction