Tengo que traspasar datos entre varias tablas de dos bases de datos iguales.
Los criterios de traspaso solo tienen que ver con la lógica de la
aplicación.
Lo tenemos planteado de la siguiente forma
INSERT INTO [baseDatos1].[tablaA] ([campo1],[campo2], [campo3],.)
SELECT [campo1],[campo2], [campo3],.
FROM [baseDatos2].[tablaA]
WHERE
Necesitaría que los valores de [baseDatos1] y [baseDatos2] fueran variables
cargadas con los nombre de las bases de datos,
lo he intentado de la siguiente forma:
DECLARE @bd1 VARCHAR(30), @bd2 VARCHAR(30)
SELECT @bd1='basedatos1', @bd2='basedatos2'
INSERT INTO @bd1.[tablaA] ([campo1],[campo2], [campo3],.)
SELECT [campo1],[campo2], [campo3],.
FROM @bd2.[tablaA]
WHERE
De esta forma no se puede hacer referencia, a las bases de datos.
Sabe alguien cual es la forma correcta de hacerlo.
En resumen, utilizar una variable con el nombre de la base de datos e
incluir esta variable en sentencias SELECT e INSERT.
Leer las respuestas