Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Daten hinzufügen, ändern und löschen » Daten mit INSERT hinzufügen

 

Einfügen von Werten in bestimmte Spalten

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.

Eingefügte Werte für festgelegte und nicht festgelegte Spalten

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.

Spaltendaten mit Integritätsregeln einschränken

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.

Ausdrückliche Einfügung von NULL

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 );
Standardwerte für die Eingabe von Werten verwenden

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.