Global Temporary Tables (GTT)
Globale temporäre Tabellen verfügen über persistente Metadaten, ihr Inhalt ist jedoch transaktionsgebunden (Standard) oder verbindungsgebunden.Jede Transaktion oder Verbindung hat ihre eigene private Instanz einer GTT, die von allen anderen isoliert ist.Instanzen werden nur erstellt, wenn und wenn auf die GTT verwiesen wird.Sie werden zerstört, wenn die Transaktion endet oder wenn die Verbindung getrennt wird.Die Metadaten einer GTT können mit ALTER TABLE
bzw. DROP TABLE
geändert oder entfernt werden.
CREATE GLOBAL TEMPORARY TABLE tablename (<column_def> [, {<column_def> | <table_constraint>} ...]) [<gtt_table_attrs>] <gtt_table_attrs> ::= <gtt_table_attr> [gtt_table_attr> ...] <gtt_table_attr> ::= <sql_security> | ON COMMIT {DELETE | PRESERVE} ROWS
Note
|
Syntax notes
|
GTTs sind in schreibgeschützten Transaktionen beschreibbar.Die Wirkung ist wie folgt:
- Schreibgeschützte Transaktion in der Datenbank mit Lese-/Schreibzugriff
-
Schreibbar in
ON COMMIT PRESERVE ROWS
undON COMMIT DELETE ROWS
- Schreibgeschützte Transaktion in schreibgeschützter Datenbank
-
Nur in
ON COMMIT DELETE ROWS
beschreibbar