El lenguaje Transact-SQL tiene el comando
USE { database } que interpreto que se pueda utilizar en
procedimientos almacenados pero cuando inserto dicho
comando me da un error diciendo que no se permite la
instruccion en un procedimiento o desencadenador por otro
lado este no permite utilizar una variable como
parametro, como alternativa he utilizado el comando
EXEC ('USE {database}') en procedimientos pero no he
obtenido los resultados deseados.
Conclusión, mi interes es conocer como puedo implementar
una base de datos con procedimientos que puedan recuperar
y/o procesar informacion de otras bases de datos de forma
parametizable, el problema se expresa en el siguiente
ejemplo:
CREATE PROCEDURE Prueba
@Base_Dato Varchar(255)
AS
EXEC ('use '+@Base_Dato)
SELECT ...
GO
En pruebas efectuadas la setencia Select busca la tabla
en la base de datos donde se encuentra el procedimiento
Prueba y no lo hace en la base @Base_Dato a pesar de
ejecutarse EXEC ('use '+@Base_Dato) correctamente
¿ Como resolver este problema ?
Agradecere cualquier ayuda en este sentido
Gracias
Leer las respuestas