SQL - Nombre de BD como variable

 
Vista:

Nombre de BD como variable

Publicado por regane (2 intervenciones) el 06/02/2007 17:47:02
Necesito hacer una consulta de varias tablas sobre varias bases de datos.
Necesito pasar el nombre de la base de datos como variable, esto es dependiendo qué año quiero consultar cambia la base de datos a la que acceder aunque las tablas son las mismas y con la misma estructura.

Muchas gracias de antemano y un saludo, que ya he utilizado vuestra ayuda en ocasiones anteriores y es genial.
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

RE:Nombre de BD como variable

Publicado por Isaías (5072 intervenciones) el 06/02/2007 20:23:10
En SQL Sever:

CREATE PROCEDURE uspBuscaEnTablas
@DataBaseName SYSNAME
AS
BEGIN
SET NOCOUN ON
DECLARE @SQLString NVARCHAR(1000)
SET @SQLString = N'USE '+DataBaseName +'; SELECT * FROM CLIENTES'
EXECUTE sp_executesql @SQLString
END

Valida que @DataBaseName, no vaya en null
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

RE:Nombre de BD como variable

Publicado por regane (2 intervenciones) el 07/02/2007 10:08:54
Gracias por la ayuda, pero mi consulta es un pelin más complicada:
Tengo que hacer un JOIN entre una base de datos fija y la base de datos variable dependiendo del año. Con lo que me envías podría hacerlo con tablas temporales pero me gustaria hacerlo en la misma consulta si puediese ser. (Una vez puestas a pedir, jejeje)
pero insinto en que muchas gracias.
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

RE:Nombre de BD como variable

Publicado por Isaías (5072 intervenciones) el 07/02/2007 19:51:30
regane

Lo que te mande, fue un simple ejemplo de como utilizar, algo variable (como tablas, bases, etc.), pero de que puedes hacer lo que necesitas, se puede con Query Dinamico.
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