INSERT-Anweisung

Die INSERT-Anweisung fügt eine Zeile in eine Datenbanktabelle ein.

SYNTAX

Eine einzelne Zeile wird in die durch Tabellenverweisangegebene Tabelle eingefügt. Der Spaltenname gibt die Spalten in der Zieltabelle an, die Sonderwerte erhalten sollen. Diese Werte werden von den Ausdrücken in der VALUES-Klausel festgelegt (der erste Ausdruck nennt den Wert der ersten benannten Spalte usw.). Die Anzahl der Ausdrücke in der VALUES-Klausel muss mit der Anzahl der benannten Spalten übereinstimmen. Spalten in der Tabelle, die nicht in der Liste enthalten sind, erhalten ihre Standardwerte.

Tabellenverweis

Ein Tabellenverweis ist ein Sonderfall der Feldverweise, mit dem auf Nachrichtenbaumstrukturen verwiesen wird. Er beginnt immer mit dem Wort "Database" (Datenbank) und kann wahlweise Folgendes enthalten:
  • Nur einen Tabellennamen
  • Einen Schemanamen und einen Tabellennamen
  • Einen Datenquellnamen (d. h. den Namen einer Datenbankinstanz), einen Schemanamen und einen Tabellennamen
In allen Fällen kann der Name direkt oder durch einen Ausdruck in Klammern ({...}) angegeben werden. Der direkt angegebene Name einer Datenquelle, eines Schemas oder einer Tabelle kann ersetzt werden. Das bedeutet, dass wenn der Name als bekannter Name deklariert wurde, nicht der Name selbst verwendet wird, sondern der Wert des deklarierten Namens (siehe DECLARE-Anweisung).

Wird kein Schemaname angegeben, wird das Standardschema des Benutzers der Broker-Datenbank verwendet.

Wenn Sie keinen Datenquellnamen angeben, wird die Datenbank verwendet, auf die das Datenquellattribut des Knotens verweist.

Fehler behandeln

Bei den Einfügevorgängen können Fehler auftreten, beispielsweise könnte die Datenbank nicht betriebsbereit sein oder für die Tabelle sind Einschränkungen definiert, die die neue Zeile verletzen könnte. In diesen Fällen wird eine Ausnahme ausgelöst (ausgenommen, die Knoteneigenschaft Ausnahme für Datenbankfehler ausgeben wurde auf FALSE gesetzt). Diese Ausnahmen richten die entsprechenden Wert für den SQL-Code, den Status, den systemeigenen Fehler und den Fehlertext ein und können von Fehlerbehandlungsprogrammen bearbeitet werden (siehe Anweisung DECLARE HANDLER).

Weitere Informationen zur Behandlung von Datenbankfehlern finden Sie unter Datenbankstatus erfassen.

Beispiele

Im folgenden Beispiel wird davon ausgegangen, dass die Eigenschaft dataSource (Datenquelle) konfiguriert wurde und dass die von ihr angegebene Datenbank TABLE1 heißt und die Spalten A, B und C enthält.

Gegeben ist eine Nachricht mit dem folgenden generischen XML-Hauptteil:
<A>
 <B>1</B>
 <C>2</C>
 <D>3</D>
</A>
Die folgende INSERT-Anweisung fügt eine neue Zeile mit den Werten 1, 2 und 3 für die Spalten A, B und C in die Tabelle ein:
INSERT INTO Database.TABLE1(A, B, C) VALUES (Body.A.B, Body.A.C, Body.A.D);
Das nächste Beispiel zeigt die Verwendung des Namens einer berechneten Datenquelle, eines Schemas und einer Tabelle:
-- Variablen deklarieren, die den Namen der Datenquelle, des Schemas und der Tabelle halten sollen und
-- ihre Standardwerte einrichten
DECLARE Source CHARACTER 'Produktion';
DECLARE Schema CHARACTER 'db2admin';
DECLARE Table  CHARACTER 'DynamischeTabelle1';

-- Hier steht der Code, der ihren tatsächlicher Wert berechnet

-- Daten in die Tabelle einfügen
INSERT INTO Database.{Source}.{Schema}.{Table} (Name, Value) values ('Joe', 12.34);
Zugehörige Konzepte
Übersicht zu ESQL
Zugehörige Tasks
ESQL erstellen
Datenbankstatus erfassen
Zugehörige Verweise
Syntaxdiagramme: verfügbare Typen
ESQL-Anweisungen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ak05050_