Base de datos como parametro de procedimiento

18/12/2006 - 16:49 por noticiasSQL | Informe spam
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

#1 Maxi
19/12/2006 - 21:31 | Informe spam
Hola, en 2000 si en 2005 no si configuras el contexto de ejecucion con
Execute as en tu SP's


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Isaias" escribió en el mensaje
news:
Mostrar la cita

Preguntas similares