In unserem heutigen Tipp widmen wir uns dem wichtigsten Konzept einer Datenbank überhaupt: Der Tabelle!
Nachdem ich immer wieder nach Beispielen zu speziellen CREATE TABLE Befehlen für Oracle Datenbanken suchen muss, war es mal an der Zeit eine eigene Zusammenfassung zu erstellen.
Fall 1: Eine Tabelle soll mit den gängigsten numerischen Datentypen erstellt werden:
Fall 2: Als nächstes nehmen wir die text und sonstigen Datentypen:
Fall 3: Die Tabelle soll mit der neuen LOB Speichertechnik (ab 11.1), den Securefiles, erstellt werden:
Fall 4: Die Tabelle soll erst dann physisch angelegt werden, wenn die erste Zeile eingetragen wurde:
Fall 5: Die Tabelle soll mit dem Attribut NOLOGGING erstellt werden:
Nachträglich kann die Tabelle wieder in LOGGING bzw. NOLOGGING geändert werden:
Fall 6: Sie wollen einen speziellen Tablespace für die Tabelle angeben:
Fall 7: Die Tabelle soll einen Primärschlüssel besitzen:
Fall 8: Die Tabelle soll einen Fremdschlüssel (Foreign Key) besitzen:
Fall 9: Die Tabelle soll eine spezielle Sortierung für eine Spalte eingestellt bekommen. Diese Funktion steht erst ab 12.2 zur Verfügung. Außerdem muss der Parameter max_string_size= EXTENDED gesetzt sein.
EXTENDED
Fall 10: Die Tabelle soll nur die Daten temporär aufbewahren (bis zum Sessionende):
Fall 11: Die Tabelle soll nur die Daten temporär aufbewahren (bis zum Transaktionsende):
Fall 12: Ab Version 18 kann eine temporäre Tabelle erzeugt werden, die zum Transaktionsende samt Definition gelöscht wird.Hinweis: Sie muss ein Prefix (ora$ptt) im Namen aufweisen. Dies kann jedoch über den Initialisierungsparameter PRIVATE_TEMP_TABLE_PREFIX geändert werden.
PRIVATE_TEMP_TABLE_PREFIX
Fall 13: Auch erst ab Version 18 verfügbar, ist die zweite Variante der privaten temporären Tabelle, die erst zum Sessionende gelöscht wird:
Fall 14: Die Tabelle soll sich die Änderungs-SCN pro Zeile und nicht nur pro Block merken:
Fall 15: Die Tabelle soll auf einer Datei basieren, die ausserhalb der Datenbank liegt:
Als Benutzer mit DBA Rechten ausführen:
Als Benutzer SCOTT ausführen:
Fall 16: Blockchain Table (Erst ab Version 21c)
Fall 17: Interval Range-Partitionierte Tabelle (1 Monatsintervall)
Fall 18: Interval Range-Partitionierte Tabelle (1 Tagesintervall)
Fall 19: Interval Range-Partitionierte Tabelle (1 Jahresintervall)
Fall 20: Range Partitioninierung mit eigenem Intervall