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 ROWSundON COMMIT DELETE ROWS - Schreibgeschützte Transaktion in schreibgeschützter Datenbank
-
Nur in
ON COMMIT DELETE ROWSbeschreibbar