Está en la página 1de 10

Bases de Datos II

Diferentes maneras de insertar datos


DIFERENTES MANERAS DE INSERTAR DATOS
 CONTENIDO

o INSERT VALUES
o INSERT SELECT
o SELECT INTO
INSERT VALUES
INSERT INTO tablaDestino( columna1, columna2, columna3, columnaN )
VALUES( valor1 , valor2 , valor3, valorN )
Alguna de sus características:
 Es posible omitir la lista de columnas después del nombre de la tabla, sin embargo se
considera una buena práctica especificarlos.
 Si la lista es omitida, la lista de columnas después de VALUES debe tener el mismo
orden en el que fueron creadas en la tabla, respetando el tipo de dato, longitud entre
otras propiedades.
INSERT VALUES
 Si existe una columna de tipo IDENTITY, esta no debe especificarse en la lista después
del nombre de la tabla y por lo tanto en la lista de valores a insertar, si se desea
ingresar los valores, antes de realizar la inserción debe especificarse SET
IDENTITY_INSERT <nombreTabla> ON y después de realizar la inserción nuevamente
SET IDENTITY_INSERT <nombreTabla> OFF.
 Si alguna columna contiene la restricción DEFAULT, basta con no especificarla en la
lista después del nombre de la tabla; por lo contrario, si se especifica y no queremos
ingresar ningún valor, en la lista después de VALUES solo es necesario
escribir DEFAULT en donde corresponda su valor.
INSERT SELECT
 Inserta los valores que resultan de la ejecución de una consulta. Características:
 Es posible omitir la lista de columnas destino al igual que tipo de INSERT anterior.
 También integra la posibilidad de ingresar valores en una columna IDENTITY si antes
se especifica SET IDENTITY <nombreTabla> ON.

INSERT INTO tablaDestino


SELECT IdDepartamento , Nombre, Fecha
FROM Departamento;
--VERIFICAMOS LOS VALORES INSERTADOS
SELECT * FROM tablaDestino;
SELECT INTO
 También utiliza una consulta para tomar los valores e insertarlos en una tabla, solo
que creará una nueva tabla para este fin, si ya existe la tabla, marcará error.
Algunas de sus características son:
 Genera una nueva tabla con el nombre especificado.
 Los datos seleccionados por la consulta son copiados así como los nombres de las
columnas, tipo de datos, si la columna permite o no NULL y la propiedad IDENTITY.
 Índices, restricciones, disparadores( triggers ), y algunas otros aspectos no son
copiados, por lo tanto si se requiere es necesario modificar la tabla y agregarlos.
SELECT INTO
SELECT IdDepartamento , Nombre, Fecha
INTO nuevaTablaDestino
FROM Departamento;
WHERE Grupo = ' I+D' ;

--VERIFICAMOS LOS DATOS INSERTADOS


SELECT * FROM nuevaTablaDestino;
 Al insertar datos, deben respetarse las restricciones. Si
estas están montadas en la BD, lo cual es muy
recomendable, podemos tener errores como:
 Clave primaria duplicada. La clave primaria debe ser
única.
 Recibiremos el mensaje: “Clave padre no encontrada” al
insertar una clave foránea que no existe en la tabla
padre a la que apunta.

Resumen
 Ejercicio: Construya una instrucción de inserción en la tabla CURSO
para guardar un nuevo curso de pintura y asígnele una clave que no
entre en conflicto con la existente.

 Solución:
insert into CURSO(IDCURSO,TITULO)
values (6,'Pintura’);

Si el campo IDCURSO es de tipo IDENTITY :

insert into CURSO(TITULO)


values ('Pintura’);
Ejercicio
 Gracias!
FIN

También podría gustarte