INSERT-Anweisung (insert_statement)
Die INSERT-Anweisung (
insert_statement ) erzeugt neue Zeilen einer Tabelle.Syntax
<insert_statement> ::=
INSERT [INTO] <table_name> [(<column_name>,...)] VALUES (<insert_expression>,...) [<duplicates_clause>]
| INSERT [INTO] <table_name> [(<column_name>,...)] <query_expression> [<duplicates_clause>]
| INSERT [INTO] <table_name> SET <set_insert_clause>,... [<duplicates_clause>]
<insert_expression> ::= <extended_expression> | <subquery>
table_name, column_name, extended_expression, duplicates_clause, subquery query_expression, set_insert_clauseErläuterung
Der Tabellenname muß eine existierende Basistabelle oder View-Tabelle (siehe
Tabelle) oder ein Synonym bezeichnen.Wenn Spaltennamen oder eine SET INSERT-Klausel (
set_insert_clause ) angegeben sind, müssen alle angegebenen Spaltennamen Spalten der angegebenen Tabelle sein. Wenn die Tabelle ohne Schlüssel definiert wurde (d.h. vom Datenbanksystem wird intern die Spalte SYSKEY erzeugt), darf die Spalte SYSKEY nicht in der Folge der genannten Spalten oder in einer SET INSERT-Klausel vorkommen. Eine Spalte darf nicht mehrmals in einer Folge von Spaltennamen oder in mehr als einer SET INSERT-Klausel enthalten sein.Der Benutzer muß das INSERT-Privileg für die durch den Tabellennamen identifizierte Tabelle besitzen. Wenn durch den Tabellennamen eine View-Tabelle identifiziert wird, ist es möglich, daß selbst der Eigentümer der View-Tabelle das INSERT-Privileg nicht besitzt, weil die View-Tabelle nicht änderbar ist.
Eine angegebene Spalte (optional durch
column_name oder Spaltenname in der set_insert_clause ) ist eine Zielspalte. Die Zielspalten können in beliebiger Reihenfolge angegeben werden.Weitere Informationen
Wenn in der INSERT-Anweisung ein QUERY-Ausdruck angegeben ist, darf keine LONG-Spalte Zielspalte sein.
Bei der INSERT-Anweisung wird der dritte Eintrag von SQLERRD in der SQLCA mit der Anzahl der eingefügten Zeilen belegt.
Treten beim Einfügen von Zeilen Fehler auf, scheitert die INSERT-Anweisung und hinterläßt eine unveränderte Tabelle.