CREATE TABLE AS

Name

CREATE TABLE AS -- erzeugt eine neue Tabelle aus den Ergebnissen einer Anfrage

Synopsis

CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE tabellenname [ (spaltenname [, ...] ) ]
    AS anfrage

Beschreibung

CREATE TABLE AS erzeugt eine neue Tabelle und füllt sie mit den Daten, die ein SELECT berechnet hat. Die Tabellenspalten haben die gleichen Namen und Datentypen wie das Ergebnis des SELECT, aber die Spaltennamen können auch ausdrücklich angegeben werden.

CREATE TABLE AS sieht vielleicht so aus, als würde man eine Sicht erzeugen, aber es gibt einen erheblichen Unterschied: Es erzeugt eine neue Tabelle und wertet die Anfrage einmal aus um die neue Tabelle mit Anfangsdaten zu füllen. Die neue Tabelle verfolgt aber keine späteren Änderungen in den Quelltabellen der Anfrage. Im Gegensatz dazu wird bei einer Sicht der SELECT-Befehl bei jeder Anfrage neu ausgewertet.

Parameter

[LOCAL] TEMPORARY oder [LOCAL] TEMP

Wenn angegeben, dann wird die Tabelle als temporäre Tabelle erzeugt. Weitere Einzelheiten dazu finden Sie bei CREATE TABLE.

tabellenname

Der Name der zu erzeugenden Tabelle (möglicherweise mit Schemaqualifikation).

spaltenname

Der Name einer Spalte in der neuen Tabelle. Wenn keine Spaltennamen angegeben sind, dann werden die Namen der Ergebnisspalten der Anfrage übernommen.

anfrage

Ein Anfragebefehl (das heißt, ein SELECT). Einzelheiten zur erlaubten Syntax erhalten Sie unter SELECT.

Meldungen

Eine Zusammenfassung der möglichen Meldungen erhalten Sie unter CREATE TABLE und SELECT.

Hinweise

Dieser Befehl hat die selbe Funktionalität wie SELECT INTO, sollte aber bevorzugt verwendet werden, weil er nicht so einfach mit anderen Verwendungszwecken der Syntax SELECT ... INTO verwechselt werden kann.

Kompatibilität

Dieser Befehl wurde Oracle nachempfunden. Es gibt keinen Befehl mit der gleichen Funktionalität im SQL-Standard. Eine Kombination aus CREATE TABLE und INSERT ... SELECT erreicht jedoch das selbe Ziel mit nur geringem Mehraufwand.

Siehe Auch

CREATE TABLE, CREATE VIEW, SELECT, SELECT INTO