SQL Server - EJECUTAR VARIAS CONSULTAS EN UN QUERY

 
Vista:
sin imagen de perfil

EJECUTAR VARIAS CONSULTAS EN UN QUERY

Publicado por Juan Carlos (3 intervenciones) el 14/10/2014 01:51:13
Hola a Todos.

Tengo 14 Bases de datos BD01...BD02...BD03.... asi hasta la BD14.
Cada base de datos contiene 113 tablas.
De esas 113 TABLAS solo me interesa 1 TABLA llamada MINVEXX de cada BD ( le pongo XX por que van de acuerdo a la base de datos, por ejemplo: de la BD01.dbo.MINVE01, de la BD02.dbo.MINVE02 y asi hasta la 14).

Lo que pido y espero me ayuden si es posible es a generar un QUERY en donde los DATOS de cada TABLA MINVEXX los pueda enviar, exportar o copiar a otra BD, ejemplo:

seleccionar los datos de la TABLA MINVEXX y enviarlos,exportarlos o copiarlos a la TABLA TEMP algo asi como lo que describo aqui:

select * from BD01.dbo.MINVE01 ===> Insert into DATOSMINVES.dbo.TEMP ( termine esta instruccion y pase a la otra )
select * from BD02.dbo.MINVE02 ===> Insert into DATOSMINVES.dbo.TEMP ( termine esta instruccion y pase a la otra )
select * from BD03.dbo.MINVE03 ===> Insert into DATOSMINVES.dbo.TEMP ( termine esta instruccion y pase a la otra )
select * from BD04.dbo.MINVE04 ===> Insert into DATOSMINVES.dbo.TEMP ( termine esta instruccion y pase a la otra )
y asi consecutivamente sin parar hasta llegar a la BD14.

estube trabajando con esta instruccion pero me duplica los datos si lo ejecuto mas de una vez en la misma BD:

select * from MINVE01
INSERT INTO DATOSMINVE.dbo.TEMP

algo asi es, lo vi en internet. Si me copio los datos bien en la primera ejecucion, cuando lo ejecute por segunda vez me duplico los valores, pero es manual y lo tengo que ejecutar por cada base de datos.

no se si haya una funcion como un CICLO en donde ejecute el primer select, termine y CONTINUE con el segundo y asi sucesivamente.por ejemplo los FOR.... o WHILE.... como soy algo nuevo en esto no se como realizar algo asi para no ejecutar 1x1

Si no es mucho pedir, me gustaria tambien me orientaran como hacer, que si los datos ya existen no los duplique y que copie.

espero no se mucha molestia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias Islas
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

EJECUTAR VARIAS CONSULTAS EN UN QUERY

Publicado por Isaias Islas (4558 intervenciones) el 14/10/2014 17:24:42
Verifica el código y modifícalo de ser necesario

execute sp_MSforeachdb 'USE [?] ;IF ''?'' NOT IN (''master'', ''model'', ''msdb'', ''tempdb'')
BEGIN
DECLARE @SQLSTRING NVARCHAR(MAX)
SET SQLSTRING =''
SELECT ''?'' AS Database
SET @SQLSTRING = N''INSERT INTO TEMP.DBO.MINVE''+RIGHT( ''?'', 2)''+ SELECT * FROM MINVE''+RIGHT( ''?'', 2)''
-- SELECT @SQLSTRING -- Solo para revisar la instruccion que se va a ejecutar
EXEC @SQLSTRING
END'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar