Sie können Daten in bestimmte Spalten einer Zeile einfügen, indem Sie nur diese Spalten und ihre Werte angeben. Definieren Sie alle anderen Spalten, die nicht in der Spaltenliste enthalten sind, sodass sie NULL enthalten können oder Standardwerte enthalten. Wenn Sie eine Spalte überspringen, die einen Standardwert hat, wird dieser benutzt.
Um Daten z.B. nur in die Spalten "DepartmentID" und "DepartmentName" einzugeben, ist eine Anweisung wie die folgende erforderlich:
INSERT INTO Departments ( DepartmentID, DepartmentName ) VALUES ( 703, 'Western Sales' ); |
DepartmentHeadID hat keinen Standardwert, akzeptiert aber NULL. Daher wird der Spalte automatisch NULL zugewiesen.
Machen Sie diese Änderungen in der Datenbank rückgängig, indem Sie eine ROLLBACK-Anweisung eingeben:
ROLLBACK; |
Auch wenn die von Ihnen angegebene Spaltenreihenfolge nicht unbedingt der Reihenfolge der Spalten in der Tabelle entsprechen muss, so muss sie doch der Reihenfolge entsprechen, in der Sie die Werte angeben, die Sie einfügen.
Werte werden so in eine Zeile eingefügt, wie es in der INSERT-Anweisung festgelegt wird. Wenn für eine Spalte kein Wert festgelegt wird, hängt der eingegebene Wert von den Spalteneinstellungen ab, also z.B. ob NULL erlaubt ist, ein DEFAULT-Wert benutzt werden soll usw. In manchen Fällen kann die Einfügung fehlschlagen und einen Fehler verursachen. In der folgenden Tabelle werden die möglichen Ergebnisse abhängig vom eingefügten Wert (falls zutreffend) und den Spalteneinstellungen dargestellt:
Eingefügter Wert | Nullwertfähig | Nicht nullwertfähig | Nullwertfähig mit DEFAULT | Nicht nullwertfähig mit DEFAULT | Nicht nullwertfähig mit DEFAULT AUTOINCREMENT |
---|---|---|---|---|---|
<keiner> | NULL | SQL-Fehler | DEFAULT-Wert | DEFAULT-Wert | DEFAULT-Wert |
NULL | NULL | SQL-Fehler | NULL | SQL-Fehler | DEFAULT-Wert |
Angegebener Wert | Angegebener Wert | Angegebener Wert | Angegebener Wert | Angegebener Wert | Angegebener Wert |
Standardmäßig lassen Spalten NULL zu, wenn Sie nicht bei der Erstellung der Tabelle ausdrücklich NOT NULL in der Spaltendefinition festlegen. Sie können den Standardwert mit der Option "allow_nulls_by_default" ändern. Sie können auch festlegen, ob eine bestimmte Spalte NULL enthalten darf, indem Sie die Anweisung ALTER TABLE benutzen. Weitere Hinweise finden Sie unter allow_nulls_by_default-Option [Kompatibilität] und ALTER TABLE-Anweisung.
Sie können Integritätsregeln für eine Spalte oder Domäne erstellen. Integritätsregeln bestimmen die Art der Daten, die hinzugefügt werden können oder nicht. Weitere Hinweise finden Sie unter Tabellen- und Spalten-Integritätsregeln benutzen.
Sie können NULL explizit in eine Spalte einfügen, indem Sie NULL eingeben. Setzen Sie dies nicht in Anführungszeichen, da die Eingabe sonst als Zeichenfolge interpretiert wird. Beispiel: Die folgende Anweisung fügt explizit NULL in die Spalte "DepartmentHeadID" ein:
INSERT INTO Departments VALUES ( 703, 'Western Sales', NULL ); |
Sie können eine Spalte so definieren, dass bei jedem Einfügen einer Zeile ein Standardwert in die Spalte eingefügt wird, auch wenn in der Anweisung diese Spalte keinen Wert erhält. Hierzu geben Sie einen Standardwert für die Spalte an. Weitere Hinweise finden Sie unter Spalten-Standardwerte verwenden.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |