. .

Publicidad

Secciones

Publicidad

Aplicaciones Web

Programación

Hardware

Software

Bases de Datos

Mobile

Empresas

 

Generar instrucciones insert por cada registro contenido en una tabla

En cuantas ocasiones se han visto los administradores de base de datos y/o los programadores de sistemas con la necesidad de volcar datos de una tabla a otra estén o no en la misma base de datos y porque no decirlo podrían estar hasta en gestores de bases de datos diferentes. Puede que los datos los queremos volcar de sql server a mysql, a postgresql, etc.

Aquí les muestro una forma sencilla y sobre todo util de realizar esta operación, este ejemplo corrio sobre sql server 2005.

Este select nos devuelve los datos contenidos en la tabla articulos, compañía dbo de la base de datos nmedicinas.

select articulo, descripcion, pertenece_far
from nmedicinas.dbo.articulos

Resultado:

Articulo Descripcion Pertenece_Far
1 RANITIDINA 150 MG CAP CJA X 100 GENERIFAR No
2 DICLOFENAC CAJA X 100 AMPOLLAS   75 MG No
3 COMPLEJO B C/HIERRO-ZINC FCO X 90 No
4 CODIPRONT X 10 CAPS. No
5 ZYRTEC 10 MG TAB CJA X 20 DICEGSA No
6 ZYPREXA 10 MG TAB CJA X 14 SERRANO No
7 PANADOL No

El siguiente select que nos ocupa, mediante estas instrucciones podemos generar una sentencia insert por cada registro de la tabla, luego habría que copiar el resultado de la ejecusión (los insert) y posteriormente pegarlas en el query del servidor donde queremos insertar estos datos y ejecutar.

select 'insert into OtraBD.OtraCompania.articulos(articulo, descripcion,fecha_creacion,pertenece_far) values ('+ cast(articulo as varchar(10)) + ',''' + descripcion + ''',''' + pertenece_far + '''' + ')'
from nmedicinas.dbo.articulos

Resultado:

insert into OtraBD.OtraCompania.articulos
(articulo, descripcion,fecha_creacion,pertenece_far)
values (1,'RANITIDINA 150 MG CAP CJA X 100 GENERIFAR','No')
insert into OtraBD.OtraCompania.articulos
(articulo, descripcion,fecha_creacion,pertenece_far)
values (2,'DICLOFENAC CAJA X 100 AMPOLLAS   75 MG','No')
insert into OtraBD.OtraCompania.articulos
(articulo, descripcion,fecha_creacion,pertenece_far)
values (4,'COMPLEJO B C/HIERRO-ZINC FCO X 90','No')
insert into OtraBD.OtraCompania.articulos
(articulo, descripcion,fecha_creacion,pertenece_far)
values (5,'CODIPRONT X 10 CAPS.','No')
insert into OtraBD.OtraCompania.articulos
(articulo, descripcion,fecha_creacion,pertenece_far)
values (6,'ZYRTEC 10 MG TAB CJA X 20 DICEGSA','No')
insert into OtraBD.OtraCompania.articulos
(articulo, descripcion,fecha_creacion,pertenece_far)
values (7,'ZYPREXA 10 MG TAB CJA X 14 SERRANO','No')
insert into OtraBD.OtraCompania.articulos
(articulo, descripcion,fecha_creacion,pertenece_far)
values (8,'PANADOL','NO')

 

En otro artículos les mostraré como hacer la misma operación pero utilizando microsoft excel para generar las instrucciones insert.

Tags para esta entrada: Tips sqlbase de datosconsultas de base de datosinsertar datosmigrar datos de un gestor a otro



Otros temas relacionados

Manejo de las funciones dateformat y group by de sql

Este ejemplo tiene como objetivo mostrarles como obtener el número total de facturas elaboradas por cada caja (sistema de facturacion) de un día en particular (01/08/2009) set dateformat dmy select caj,count(doc) as Total from BD.Compania.Tabla where fecha between '01/08/2009' and '02...... Leer el artículo completo

Buscar un campo en una base de datos SQL Server

Hay ocasiones en las que necesitamos ubicar o conocer el nombre de todas las tablas que contienen un determinado campo. El siguiente ejemplo listará el nombre (y otros datos) de todas las tablas que contengan un campo lamado entradas. Este ejemplo corre perfectamente bien en Ms. SQL Server 2...... Leer el artículo completo

Tips SQL: Un ejemplo de uso de Select Case

Pequeño ejemplo de cómo listar o tomar el valor de un campo u otro dependiendo del valor de un tercer campo. Este ejemplo lista los campos góndola, estante, tabla y un cuarto campo mas (campo calculado) llamado valorTomado. En el campo calculado se listara el valor del campo g&...... Leer el artículo completo