viernes, 15 de julio de 2011

INSERT INTO SELECT, Copiar datos de una tabla a otra

En ocasiones nos topamos con la tarea de tener que copiar datos desde una tabla a otra tabla dentro de nuestra base de datos, incluso suele suceder que los nombres de los campos varíen, pero eso no es un problema mientras el tipo de datos sea el mismo.

Eh aquí la solución rápida a esa labor (que se torna en problema si no sabemos los pasos indicados)

INSERT INTO tabla1(campo1, campo2, campo3)
(SELECT t2.campo1,  t2.campo2, t3.campo3
FROM tabla2 t2)


Como ven el insert se realiza de forma normal hasta el punto en donde tenemos que nombrar los campos, luego puede verse que no eh usado la instrucción VALUES, si no que directamente eh agregado entre parentesis una consulta SELECT.

En el SELECT eh especificado el nombre de los campos que tendran el valor, que en el mismo orden en que declare los campos de la tabla1 se iran llenando, cabe destacar que no importa si los campos tienen el mismo nombre, lo que debemos respetar es el orden, tal como si lo hicieramos agregando el VALUE.

No hay comentarios:

Publicar un comentario