SQL Server – Insertar Datos a una tabla desde otra. INSERT INTO SELECT FROM TABLE, SELECT INTO FROM TABLE

12 04 2011

Existen dos formas de insertar datos de una tabla a otra, la primera es creando la estructura de la tabla destino y luego haciendo un INSERT INTO SELECT FROM TABLE o creando al vuelo la tabla e insertando los datos en la misma instruccion.

El Primero Modo es como se describe a continuación:

--Crear Tabla Destino
CREATE TABLE TablaDest (Col1 VARCHAR(100), Col2 VARCHAR(100))
--INSERT INTO TablaDest usando SELECT
INSERT INTO TablaDest (Col1, Col2)
SELECT Col1, Col2
FROM TablaFuente
WHERE --<Condicion>

La segunda forma de hacerlo es así:

--Crear una nueva tabla al tiempo que seleccionamos los datos desde la tabla fuente
SELECT Col1, Col2
INTO TablaDest
FROM TablaFuente
WHERE --<Condicion>

Ambos modos funcionan también con tablas temporales.

1Saludo

About these ads

Acciones

Información

15 respuestas

12 06 2012
kirdoo

INSERT INTO “tabla1″ (“columna1″, “columna2″, …)
SELECT “columna3″, “columna4″, …
FROM “tabla2″

25 06 2012
loca121

excelente opcion!!!!!

19 11 2012
william

uyyyy parce gracias a DIOS usted nacio y estudio sobre esto y nos pudo ayudar gracias….

30 11 2012
Magui

Hola! la opción “INSERT INTO Tabla (Col1, Col2, .. )
SELECT Col1, Col2, ..
FROM TablaAux”
es más óptima que la otra opción (SELECT INTO..)

6 05 2013
Stuart

Si no eh creado la TablaDest Puedo
agregarle datos ..
como en la segunda Imagen

17 05 2013
Blogger

Te la crea con la estructura que la sentencia select que te devuelve los datos

17 06 2013
LUCERO CORTES

no he podido continuar con mi tarea de sql por que cuando quiero introducir los datos a esta tabla genera un error ¡objeto no identificado! por fa quien tenga la respuesta le quedo agradecida
lo he hecho asi:
use taxi
go
insert into cliente
y me genera el error debajo de cliente
LULU16

24 06 2013
Blogger

igual y no has creado la tabla cliente!

31 10 2013
Jibran

Funcionaria si por ejemplo la tabala destino tiene un campo extra???
insert into TablaDestino (campo1,campo2, campo3)values((select campo1, campo2 from TablaOrigen where “Condicion”), “Valor campo 3″)

???

1 11 2013
Blogger

Usa el primer método, la columna extra de la tabla destino debe aceptar nulos o tener un default de otro modo falla la inserción,
Tu consulta no se podria ejecutar debiera ser algo como:

insert into TablaDestino (campo1,campo2)
select campo1, campo2
from TablaOrigen
where “Condicion”

o

insert into TablaDestino (campo1,campo2, campo3)
select campo1, campo2, ” AS campo3
from TablaOrigen
where “Condicion”

15 11 2013
rafa

Puedo usar este metodo para realizar mi consulta?

15 11 2013
rafa

Si la tabla ya esta creada lo que pretendo hacer es guardar un respaldo de informacion que se pueda ver pero no quiero eliminar las tablas y me dice
comando:
select * into trailer_copia2 from list
error:
Msg 2714, Level 16, State 6, Line 1
Ya hay un objeto con el nombre ‘trailer_copia2′ en la base de datos.

21 11 2013
Blogger

El mensaje mismo te indica el error, para el segunda forma, la tabla se crea “al vuelo” [no debe existir o habrá conflicto].
Si ya esta creada, entonces se usa la primera forma o bien borrarlo primero y usar la segunda forma.

10 03 2014
alice

este error me sale
Msg 544, Level 16, State 1, Line 1
Cannot insert explicit value for identity column in table ‘Estados’ when IDENTITY_INSERT is set to OFF.

11 03 2014
Blogger

Los errores “level 16″ corresponden al usuario resolverlos, y como dice tu mensaje es un error de insercion al violar las restricciones de la tabla, que al parecer quieres insertar un valor en una columna de tipo identity/autonumerico y el numero que quieres insertar ya esta en la base de datos, o bien tienes duplicados en tu select y quieres insertar en un identity, debieras revisar que no traiga duplicados o en caso extremo (que no considero debas llegar hasta aqui) deshabilitar las restriccion sobre esa columna, pero corres el riesgo de introducir duplicados en esa columna.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: