Laden von Standardspaltenwerten - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Laden von Standardspaltenwerten

Sie können optional eine Spaltenliste in Ihrem COPY Befehl definieren. Wenn eine Spalte in der Tabelle nicht in der Spaltenliste enthalten ist, COPY wird die Spalte entweder mit dem Wert geladen, der von der im CREATE TABLE Befehl angegebenen DEFAULT Option bereitgestellt wurde, oder mit, NULL falls die DEFAULT Option nicht angegeben wurde.

Wenn COPY versucht wird, eine Spalte NULL zuzuweisen, die als definiert ist NOTNULL, schlägt der COPY Befehl fehl. Hinweise zum Zuweisen der DEFAULT Option finden Sie unterCREATE TABLE.

Wenn Sie Daten aus Datendateien in Amazon S3 laden, müssen sich die Spalten in der Spaltenliste in derselben Reihenfolge wie die Felder in der Datendatei befinden. Wenn für ein Feld in der Datendatei keine entsprechende Spalte in der Spaltenliste vorhanden ist, schlägt der COPY Befehl fehl.

Beim Laden aus einer Amazon-DynamoDB-Tabelle spielt die Reihenfolge keine Rolle. Felder in den Amazon-DynamoDB-Attributen, die mit keiner Spalte in der Amazon-Redshift-Tabelle übereinstimmen, werden verworfen.

Die folgenden Einschränkungen gelten, wenn der COPY Befehl zum Laden von DEFAULT Werten in eine Tabelle verwendet wird:

  • Wenn eine IDENTITY Spalte in der Spaltenliste enthalten ist, muss die IDS Option EXPLICIT _ auch im COPY Befehl angegeben werden, sonst schlägt der COPY Befehl fehl. Ebenso schlägt der COPY Vorgang fehl, wenn eine IDENTITY Spalte in der Spaltenliste weggelassen wird und die IDS Option EXPLICIT _ angegeben ist.

  • Da der ausgewertete DEFAULT Ausdruck für eine bestimmte Spalte für alle geladenen Zeilen derselbe ist, weist ein DEFAULT Ausdruck, der eine RANDOM () -Funktion verwendet, allen Zeilen denselben Wert zu.

  • DEFAULTAusdrücke, die CURRENT _ enthalten DATE oder auf den Zeitstempel der aktuellen Transaktion gesetzt SYSDATE sind.

Ein Beispiel hierfür finden Sie unter „Laden von Daten aus einer Datei mit Standardwerten“ in COPYBeispiele.