INSERT - SQL (Comando)

Anexa un registro al final de una tabla que contiene los valores de campo especificados.

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

–O bien–

INSERT INTO dbf_name FROM ARRAY ArrayName | FROM MEMVAR

Parámetros

  • INSERT INTO dbf_name
    Especifica el nombre de la tabla a la que se anexará un registro. dbf_name puede incluir una ruta de acceso y puede ser una expresión de nombre.

    Si la tabla especificada no está abierta, se abrirá en una área de trabajo nueva y se anexará el nuevo registro a la tabla. El área de trabajo nueva no se selecciona, sino que permanece seleccionada el área de trabajo actual.

    Si la tabla que especifica está abierta, INSERT anexa el registro a la tabla. Si la tabla está abierta en una área de trabajo distinta del área de trabajo actual, no se seleccionará después de anexar el registro; el área de trabajo actual permanecerá seleccionada.

  • [(fname1 [, fname2 [, ...]])]
    Especifica los nombres de los campos del nuevo registro donde se insertan los valores.

  • VALUES (eExpression1 [, eExpression2 [, ...]])
    Especifica los valores de campo que se insertan en el nuevo registro. Si omite los nombres de los campos, debe especificar los valores de campo en el orden definido por la estructura de la tabla. Si SET NULL está ON, INSERT - SQL intentará insertar valores nulos en cualquier campo no especificado de la cláusula VALUES.

  • FROM ARRAY ArrayName
    Especifica la matriz cuyos datos se insertan en el nuevo registro. El contenido de los elementos de la matriz, comenzando por el primer elemento, se inserta en los campos correspondientes del registro. El contenido del primer elemento de la matriz se inserta en el primer campo del nuevo registro, el contenido del segundo elemento se inserta en el segundo campo, y así sucesivamente.

    Se ignora cualquier valor predeterminado de los campos cuando se incluye la cláusula FROM ARRAY.

  • FROM MEMVAR
    Especifica que el contenido de las variables se inserta en los campos que tengan los mismos nombres que dichas variables. Si no existe una variable con el mismo nombre que el campo, éste permanecerá vacío.

Observaciones

El nuevo registro contiene los datos indicados en la cláusula VALUES o incluidos en la matriz o las variables especificadas. El puntero de registro se coloca en el nuevo registro.

Ejemplo

En el siguiente ejemplo se abre la tabla employee y se agrega un registro.

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

El ejemplo siguiente abre la tabla customer de la base de datos testdata. El contenido del registro actual se reparte en variables, y la estructura de la tabla se copia a una nueva tabla llamada cust2. Se usa INSERT - SQL para insertar un registro nuevo en la tabla cust2 y se ejecuta BROWSE para mostrar el nuevo registro.

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

Vea también

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