Freigeben über


INSERT - SQL-Befehl

Fügt einen Datensatz an das Ende einer Tabelle, die die angegebenen Feldwerte enthält, an.

INSERT INTO dbf_name [(fname1 [, fname2, ...])]
   VALUES (eExpression1 [, eExpression2, ...])

- Oder -

INSERT INTO dbf_name FROM ARRAY ArrayName | FROM MEMVAR

Parameter

  • INSERT INTO dbf_name
    Gibt den Namen der Tabelle an, an die der neue Datensatz angefügt wird. dbf_name kann einen Pfad beinhalten oder ein Namensausdruck sein.

    Ist die angegebene Tabelle nicht geöffnet, wird sie in einem neuen Arbeitsbereich exklusiv geöffnet, und der neue Datensatz der Tabelle angefügt. Der neue Arbeitsbereich wird nicht ausgewählt, stattdessen bleibt der aktuelle Arbeitsbereich ausgewählt.

    Ist die angegebene Tabelle geöffnet, fügt INSERT den neuen Datensatz an die Tabelle an. Ist sie in einem anderen Arbeitsbereich als dem aktuellen geöffnet, wird dieser nach dem Anfügen des Datensatzes nicht ausgewählt, sondern der aktuelle Arbeitsbereich bleibt ausgewählt.

  • [(fname1 [, fname2 [, ...]])]
    Gibt die Namen der Felder des neuen Datensatzes an, in die die Werte eingefügt werden.

  • VALUES (eExpression1 [, eExpression2 [, ...]])
    Gibt die Feldwerte an, die in den neuen Datensatz eingefügt werden. Werden die Feldnamen nicht angegeben, müssen Sie diese in der durch die Struktur der Tabelle vorgegebenen Reihenfolge angeben. Ist SET NULL auf ON eingestellt, versucht INSERT - SQL allen nicht in der VALUES-Klausel angegebenen Feldern- Nullwerte hinzuzufügen.

  • FROM ARRAY ArrayName
    Gibt das Array an, dessen Daten in den neuen Datensatz eingefügt werden. Der Inhalt der Arrayelemente wird, angefangen mit dem ersten Element, in die entsprechenden Felder des Datensatzes eingefügt. Der Inhalt des ersten Arrayelements wird in das erste Feld des neuen Datensatzes eingefügt, der Inhalt des zweiten in das zweite Feld usw.

    Bei Einbeziehung der FROM ARRAY-Klausel werden keine Standardwerte für Felder berücksichtigt.

  • FROM MEMVAR
    Gibt an, dass der Inhalt der Variablen in Felder mit demselben Namen wie die Variablen eingefügt wird. Gibt es keine Variable mit demselben Namen wie das Feld, bleibt dieses leer.

Hinweise

Der neue Datensatz enthält die Daten, die in der VALUES-Klausel aufgelistet oder im angegebenen Array oder in den angegebenen Variablen enthalten sind. Der Datensatzzeiger wird auf den neuen Datensatz positioniert.

Beispiel

Im folgenden Beispiel wird die Tabelle employee geöffnet und ein Datensatz hinzugefügt.

USE employee
INSERT INTO employee (emp_no, fname, lname, officeno) ;
   VALUES (3022, "John", "Smith", 2101)

Im folgenden Beispiel wird die Tabelle customer in der Datenbank testdata geöffnet. Der Inhalt des aktuellen Datensatzes wird in Variablen übertragen und die Tabellenstruktur in eine neue Tabelle namens cust2 kopiert. INSERT - SQL wird verwendet, um der Tabelle cust2 einen neuen Datensatz hinzuzufügen, der anschließend mit BROWSE angezeigt wird.

CLOSE DATABASES
CLEAR

OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open customer table
* Scatter current record to memory variables
SCATTER MEMVAR

* Copy structure of current table to example table
COPY STRUCTURE TO cust2

* Insert record from memory variable
INSERT INTO cust2 FROM MEMVAR

SELECT CUST2
BROWSE

* Close and delete example table
USE
DELETE FILE cust2.dbf

Siehe auch

CREATE QUERY | CREATE TABLE – SQL | MODIFY QUERY | SELECT – SQL