INSERT INTO-Anweisung

Fügt einen Datensatz oder mehrere Datensätze einer Tabelle hinzu. Dies wird als Anfügeabfrage bezeichnet.

Syntax

Anfügeabfrage für mehrere Datensätze:

INSERT INTO Ziel [(Feld1[, Feld2[, ...]])] [IN externe_Datenbank]
SELECT [Quelle.]Feld1[, Feld2[, ...]
FROM Tabellenausdruck

Anfügeabfrage für einen einzelnen Datensatz:

INSERT INTO Ziel [(Feld1[, Feld2[, ...]])]
VALUES (Wert1[, Wert2[, ...])

Die INSERT INTO-Anweisung besteht aus den folgenden Teilen:

Teil

Beschreibung

Ziel

Der Name der Tabelle oder Abfrage, an die Datensätze angefügt werden sollen.

Feld1, Feld2

Die Namen der Felder, an die Daten angefügt werden sollen, wenn sie auf das Argument Ziel folgen, oder die Namen der Felder, von denen Daten abgerufen werden sollen, wenn sie auf das Argument Quelle folgen.

externe_Datenbank

Der Pfad zu einer Externe Datenbank. Eine Beschreibung für den Pfad finden Sie in der IN-Klausel.

Quelle

Der Name der Tabelle oder Abfrage, aus der Datensätze kopiert werden sollen.

Tabellenausdruck

Der Name der Tabelle oder der Tabellen, aus der bzw. denen Datensätze eingefügt werden. Bei diesem Argument kann es sich um den Namen einer einzelnen Tabelle, eine gespeicherte Abfrage oder einen Verbund aus einem INNER JOIN-, LEFT JOIN- oder RIGHT JOIN-Vorgangs handeln.

Wert1, Wert2

Die Werte, die in die angegebenen Felder des neuen Datensatzes eingefügt werden sollen. Jeder Wert wird in das Feld eingefügt, das der Position des Wertes in der Liste entspricht: Wert1 wird in Feld1 des neuen Datensatzes eingefügt, Wert2 in Feld2 usw. Werte müssen durch ein Komma getrennt werden, und Textfelder müssen in Anführungszeichen (' ') eingeschlossen werden.


Hinweise

Mit der INSERT INTO-Anweisung können Sie einer Tabelle einen einzelnen Datensatz mithilfe der oben beschriebenen Anfügeabfragesyntax für einen einzelnen Datensatz hinzufügen. In diesem Fall definiert der Code den Namen und den Wert für jedes Feld des Datensatzes. Sie müssen alle Felder des Datensatzes, denen ein Wert zugewiesen werden soll, und einen Wert für dieses Feld definieren. Wenn Sie nicht alle Felder definieren, wird der Standardwert oder Null für fehlende Spalten eingefügt. Datensätze werden am Ende der Tabelle hinzugefügt.

Mit der INSERT INTO-Anweisung können Sie auch Datensätze aus einer anderen Tabelle oder Abfrage mithilfe der weiter oben unter der Anfügeabfragesyntax für mehrere Datensätze beschriebenen SELECT ... FROM-Klausel anfügen. In diesem Fall gibt die SELECT-Klausel die Felder an, die an die angegebene Ziel-Tabelle angefügt werden sollen.

Bei der Quell- oder Ziel-Tabelle kann es sich um eine Tabelle oder eine Abfrage handeln. Bei einer Abfrage fügt das Microsoft Access-Datenbankmodul Datensätze an alle durch die Abfrage angegebenen Tabellen an.

INSERT INTO ist optional. Falls diese Anweisung verwendet wird, muss sie jedoch vor der SELECT-Anweisung stehen.

Wenn die Zieltabelle einen Primärschlüssel enthält, müssen Sie unbedingt eindeutige Werte ungleich Null an die Primärschlüsselfelder anfügen. Andernfalls werden die Datensätze nicht vom Microsoft Access-Datenbankmodul angefügt.

Wenn Sie Datensätze an eine Tabelle mit einem Feld vom Datentyp AutoWert-Datentyp anfügen und die angefügten Datensätze neu nummeriert werden sollen, verwenden Sie das AutoNumber-Feld nicht in der Abfrage. Verwenden Sie das AutoNumber-Feld in der Abfrage, wenn die ursprünglichen Werte des Felds beibehalten werden sollen.

Verwenden Sie die IN-Klausel, um Datensätze an eine Tabelle in einer anderen Datenbank anzufügen.

Zum Erstellen einer neuen Tabelle verwenden Sie stattdessen die SELECT... INTO-Anweisung, um eine Tabellenerstellungsabfrage zu erstellen.

Führen Sie zunächst die Ergebnisse einer Auswahlabfrage aus, die dieselben Auswahlkriterien verwendet, und zeigen Sie diese an, um vor dem Ausführen der Anfügeabfrage festzustellen, welche Datensätze angefügt werden.

Eine Anfügeabfrage kopiert Datensätze aus einer oder mehreren Tabellen in eine andere Tabelle. Die Tabellen mit den Datensätzen, die Sie anfügen, sind von der Anfügeabfrage nicht betroffen.

Anstatt vorhandene Datensätze aus einer anderen Tabelle anzufügen, können Sie den Wert für jedes Feld in einem einzigen neuen Datensatz mithilfe der VALUES-Klausel angeben. Wenn Sie die Feldliste auslassen, muss die VALUES-Klausel einen Wert für jedes Feld in der Tabelle einschließen. Andernfalls schlägt der INSERT-Vorgang fehl. Verwenden Sie eine zusätzliche INSERT INTO-Anweisung mit einer VALUES-Klausel für jeden zusätzlichen Datensatz, den Sie erstellen möchten.



Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×