AOWS

Just another adrian’s weblog

Insertar datos de una tabla en otra

with 6 comments

En ocasiones puede resultarnos útil insertar datos de una tabla en otra, por ejemplo para testear una aplicación con un subconjunto de datos reales pero en una tabla diferente para no afectar al funcionamiento normal.

Para hacerlo hay varias formas, la primera es válida tanto para MySQL como para SQL Server:

[sql]
INSERT INTO tabla2
SELECT *
FROM tabla
[/sql]

Por supuesto podemos añadir cláusulas WHERE de modo que sólo insertemos datos específicos, como si fuera una consulta normal (de hecho es una consulta normal).

La segunda técnica, parecida a ésta, es propia de SQL Server:

[sql]
SELECT *
INTO tabla2
FROM tabla
[/sql]

La diferencia estriba en que este último caso se utiliza cuando no existe la tabla a la que volcaremos los datos, la cual es creada con la sentencia.

Written by adrian

27 agosto, 2007 a 09:30

Publicado en Posts

Tagged with ,

6 comentarios

Subscribe to comments with RSS.

  1. […] otras palabras, insertamos en una tabla el resultado de una consulta, y gracias a la cláusula UNION ALL podemos ir añadiendo nuevos valores. mysql, sql […]

  2. No me funciona. yo hago esto:
    INSERT INTO basededatos1.tabla
    SELECT *
    FROM basededatos2.tabla

    lo que quiero es insertar los datos de la basededatos2 a la 1.
    la tabla tiene la misma estructura, tienen los mismos campos
    las primarys keys. ambas inician en uno.
    ocupo insertar esos datos en la otra tabla
    ya que son varias bases de datos y ocupo unirlas.
    como funciona eso de union?

    Juanjo

    29 agosto, 2012 at 02:12

  3. Juanjo, proba con esto:
    INSERT INTO [badedatos1].dbo.tabla SELECT * FROM [basededatos2].dbo.tabla

    Marcelo

    11 septiembre, 2012 at 20:09

  4. no sale nada

    andrea camila

    9 junio, 2013 at 17:57

  5. quiero insertar un conjunto de datos de una base de datos en otra, escribo esto…

    SELECT * INTO NOMINA..an_catalogos_DET1 FROM AN_CATALOGOS_DET1 WHERE CVE_CATALOGO = ‘AUTF’

    Y me manda el siguiente mensaje de error…

    Msg 2714, Level 16, State 6, Line 1
    Ya hay un objeto con el nombre ‘an_catalogos_DET1’ en la base de datos.

    Es evidente que la tabla ya existe en la base de datos de destino, lo que no existen son los registros que quiero insertar con el criterio definido, como sería la manera correcta?

    Ruben

    24 septiembre, 2013 at 20:55

  6. Ruben, el problema es que al parecer estas intentando tomar datos de una tabla e insertarlos en la misma tabla. En este caso seria AN_CATALOGOS_DET1 = an_catalogos_DET1 .
    Lo que no entiendo es porque haces un SELECT? No seria INSERT INTO?
    Si nos das un par de detalles más seria un poco más fácil ayudarte.
    Saludos!

    Marcelo

    24 septiembre, 2013 at 21:36


Responder

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

A %d blogueros les gusta esto: