Generalidades Es la instrucción que nos va a permitir insertar
registros
nuevos en una
tabla,
ya sea a partir de una selección previa de
registros
o bien dándole a la sentencia los valores que tomarán los
campos
del registro que deseamos insertar. La sintáxis entonces puede asumir dos formas:
1) INSERT INTO nombre_de_tabla_destino
SELECT
*
FROM
nombre_de_tabla_origen
En ambos ejemplos tenemos una
tabla
donde
vamos a insertar los
registros
provenientes del resultado de una selección de la
tabla
de origen en el primer caso, mientras que en el segundo caso indicamos los valores ordenados de la misma manera que indicamos los nombres de los campos. Mediante el primer caso se pueden insertar de manera masiva varios
registros,
dependiendo esto de la
tabla
o
vista
y el
filtro
empleado en la selección de los
registros
de dicha
tabla
o vista; en el segundo ejemplo podemos insertar un único registro con los valores que allí indiquemos. Insertar
registros
en una
tabla
nueva Si quisiéramos insertar los
registros
en una
tabla
que aun no ha sido diseñada, se puede hacer con una variante del INSERT, que en definitiva crea de manera dinámica la nueva
tabla
que servirá de destino para los
registros
que vamos a insertar, cuya sintáxis es la siguiente:
SELECT * INTO nombre_tabla_nueva_crear
FROM
nombre_tabla_origen
El diseño de la nueva
tabla
dependerá de algunas evaluaciones propias del propio motor de la bade de
datos
que estemos usando, hablando de manera más sencilla tenemos que los anchos de campo,
tipos de datos
de los
campos
y demás
opciones
de la estructura de la
tabla
nueva se crearán de manera dinámica y automática, siguiendo algunas reglas y
criterios,
como ser los
nombres de campos
serán los mismos que los nombres de los
campos
de la
tabla
origen o bien los alias que indiquemos en la instrucción, los tamaños se diseñarán de acuerdo a que quepa el valor más grande que toma el campo en la
tabla
origen y así con todas las características de la tabla.
Filtros En los dos ejemplos
donde
la instrucción contempla una selección de
registros,
podemos utilizar
filtros
según se puede ver más a fondo en el capítulo correspondiente a
Criterios
de Selección, o como también se nombra en el capítulo de SELECT.