Databases Reference
In-Depth Information
INSERT INTO tabelle [(spaltenliste)]
VALUES (werteliste)
SQL erlaubt es darüber hinaus, mehrere Datensätze mit einer INSERT-Anweisung
zu erfassen. Die Klammer hinter der VALUES-Klausel muss dann für jedes Tupel
wiederholt werden. Die formale Syntax lautet für diesen Fall:
INSERT INTO tabelle [(spaltenliste)]
VALUES (werteliste) {,(werteliste)}
Die Anzahl der Angaben in der Werteliste muss mit der Anzahl der Angaben in
der Spaltenliste übereinstimmen. Die Zuordnung von Wert zu Spalte erfolgt über
die Reihenfolge, d.h. der an dritter Stelle angegebene Wert wird in die dritte ange-
gebene Spalte der Tabelle eingetragen. Wenn die Angabe einer Spaltenliste fehlt,
wird die aktuelle Reihenfolge der Spalten entsprechend der CREATE TABLE-
Anweisung und den späteren Änderungen durch die ALTER TABLE-Anweisung
genommen (wer weiß die schon noch?). Wir empfehlen daher, die Spaltennamen
immer explizit anzugeben.
Grundsätzlich muss für jede Spalte, für die keine Nullmarke zulässig ist und die
keine DEFAULT-Klausel enthält, ein Wert bereitgestellt werden.
In die Tabelle kunde können wir beispielsweise einen Datensatz durch folgende
Anweisung einfügen:
INSERT INTO kunde(
kunden_nr, name, strasse, plz, ort,
letzte_werbeaktion, status, zahlung)
VALUES (
199,'Voss, Hans','Kuhdamm 12','23863', 'Nienwohld',
DATE '2000-12-01','S','N');
Die Tabellenspalten, die bei der Aufzählung der Spalten nicht genannt werden, erhal-
ten automatisch den Default-Wert, der bei der Tabellendefinition festgelegt wurde.
Implizit ist dieses in vielen Fällen NULL . Soll in einer Spalte explizit eine Nullmarke
eingetragen werden, so wird in der VALUES-Klausel das Schlüsselwort NULL dafür
eingesetzt wie in folgendem Beispiel, wo das Lieferdatum noch nicht bekannt ist:
INSERT INTO bestellung
(bestell_nr, kunde, bestelldatum, lieferdatum)
VALUES (199, 100, DATE'2000-03-11', NULL);
Die mithilfe der VALUES-Klausel spezifizierten Tupel müssen alle für die Tabelle
definierten Integritätsbedingungen einhalten, sonst wird die Operation vom
DBMS abgebrochen.
Der effektivere und benutzerfreundlichere Weg, Tupelwerte einzugeben oder zu
korrigieren, ist sicherlich die Benutzung einer komfortablen Eingabemaske. Es
gehört jedoch nicht zu den Aufgaben von SQL, die entsprechenden Hilfsmittel zur
Ve r f ügung zu stellen. Zur Programmierung oder Generierung von Anwendungs-
Search WWH ::




Custom Search