una tabla sentencia registros otra into insertar especificar datos crear campos sql sql-server sql-server-2005

sentencia - Insertar todos los valores de una tabla en otra tabla en SQL



insertar registros de una base de datos a otra en sql server (10)

Estoy tratando de insertar todos los valores de una tabla en otra. Pero la instrucción de inserción acepta valores, pero me gustaría aceptar una selección * de la tabla_inicial. es posible?


Creo que esta declaración podría hacer lo que quieras.

INSERT INTO newTableName (SELECT column1, column2, column3 FROM oldTable);


Desde here:

SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename


Hay una manera más fácil en la que no tiene que escribir ningún código (Ideal para pruebas o actualizaciones únicas):

Paso 1

  • Haga clic derecho en la tabla en el explorador y seleccione "Editar las 100 mejores filas";

Paso 2

  • Luego puede seleccionar las filas que desee ( Ctrl + clic o Ctrl + A ) y hacer clic con el botón derecho y Copiar ( Nota : si desea agregar una condición " donde ", haga clic con el botón derecho en Grilla -> Panel -> SQL ahora puede editar la consulta y agregar la condición WHERE, luego hacer clic derecho nuevamente -> Ejecutar SQL, sus filas requeridas estarán disponibles para seleccionar en la parte inferior)

Paso 3

  • Sigue el paso 1 para la tabla de objetivos.

Etapa 4

  • Ahora vaya al final de la grilla y la última fila tendrá un asterisco (*) en la primera columna (Esta fila es para agregar una nueva entrada). Haga clic en eso para seleccionar esa fila completa y luego PEGAR ( Ctrl + V ). La celda puede tener un Asterix rojo (lo que indica que no se guardó)

Paso 5

  • Haga clic en cualquier otra fila para activar la instrucción de inserción (el Asterix rojo desaparecerá)

Nota - 1 : si las columnas no están en el orden correcto como en la tabla Objetivo, siempre puede seguir el Paso 2 y Seleccionar columnas en el mismo orden que en la tabla Objetivo

Nota - 2 - Si tiene columnas Identity, ejecute SET IDENTITY_INSERT sometableWithIdentity ON y luego siga los pasos anteriores, y al final ejecute SET IDENTITY_INSERT sometableWithIdentity OFF


La instrucción de inserción en realidad tiene una sintaxis para hacer exactamente eso. Sin embargo, es mucho más fácil si especifica los nombres de las columnas en lugar de seleccionar "*":

INSERT INTO new_table (Foo, Bar, Fizz, Buzz) SELECT Foo, Bar, Fizz, Buzz FROM initial_table -- optionally WHERE ...

Será mejor que aclare esto porque, por alguna razón, esta publicación recibe algunos votos negativos.

La sintaxis INSERT INTO ... SELECT FROM se aplica cuando la tabla en la que está insertando ("new_table" en mi ejemplo anterior) ya existe. Como han dicho otros, la sintaxis SELECT ... INTO es para cuando desea crear la nueva tabla como parte del comando.

No especificó si la nueva tabla debe crearse como parte del comando, por lo que INSERT INTO ... SELECT FROM debería estar bien si su tabla de destino ya existe.


Prueba esto:

INSERT INTO newTable SELECT * FROM initial_Table


Puede insertar utilizando una Subconsulta de la siguiente manera:

INSERT INTO new_table (columns....) SELECT columns.... FROM initial_table where column=value


Puede usar una instrucción select into . here: .


Si está transfiriendo una gran cantidad de datos permanentemente, es decir, no está rellenando una tabla temporal, recomendaría usar SQL Server Import / Export Data para mapeos tabla a tabla.

La herramienta Importar / Exportar es generalmente mejor que SQL directo cuando tiene conversiones de tipo y posible truncamiento de valor en su mapeo. En general, cuanto más compleja sea su asignación, más productivo estará utilizando una herramienta ETL como Integration Services (SSIS) en lugar de SQL directo.

La herramienta Importar / Exportar es en realidad un asistente SSIS, y puede guardar su trabajo como un paquete dtsx.


insert into stock_take_item_copy (stock_take_id, item_id) select stock_take_id, item_id from mymissingdata

¿Por qué tengo #1062 - Duplicate entry ''20239'' for key ''PRIMARY'' ? cómo alterar la clave principal en qué tabla?


Dim ofd As New OpenFileDialog ofd.Filter = "*.mdb|*.MDB" ofd.FilterIndex = (2) ofd.FileName = "bd1.mdb" ofd.Title = "SELECCIONE LA BASE DE DATOS ORIGEN (bd1.mdb)" ofd.ShowDialog() Dim conexion1 = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + ofd.FileName Dim conn As New OdbcConnection() conn.ConnectionString = conexion1 conn.Open() ''EN ESTE CODIGO SOLO SE AGREGAN LOS DATOS'' Dim ofd2 As New OpenFileDialog ofd2.Filter = "*.mdb|*.MDB" ofd2.FilterIndex = (2) ofd2.FileName = "bd1.mdb" ofd2.Title = "SELECCIONE LA BASE DE DATOS DESTINO (bd1.mdb)" ofd2.ShowDialog() Dim conexion2 = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + ofd2.FileName Dim conn2 As New OdbcConnection() conn2.ConnectionString = conexion2 Dim cmd2 As New OdbcCommand Dim CADENA2 As String CADENA2 = "INSERT INTO EXISTENCIA IN ''" + ofd2.FileName + "'' SELECT * FROM EXISTENCIA IN ''" + ofd.FileName + "''" cmd2.CommandText = CADENA2 cmd2.Connection = conn2 conn2.Open() Dim dA2 As New OdbcDataAdapter dA2.SelectCommand = cmd2 Dim midataset2 As New DataSet dA2.Fill(midataset2, "EXISTENCIA")