Buenas noches:
¿Existe forma de hacer un USE de manera dinámica?
Debo hacer un USE que me permita realizar un SELECT de una tabla de la base
de datos.
Tanto @db como @table pueden ser variables.
El problema se produce al realizar el USE de manera dinámica.
DECLARE @db sysname
DECLARE @table sysname
DECLARE @sql nvarchar(4000)
USE master
SET @db = 'pubs'
SET @table = 'authors'
SELECT @sql = 'USE ' + @db
EXEC(@sql)
SELECT @sql = 'SELECT * FROM ' + @table
EXEC(@sql)
Produciendo el mensaje de error:
Servidor: mensaje 208, nivel 16, estado 1, línea 1
El nombre de objeto 'authors' no es válido.
Recuerdos
Rafa Vidal
Leer las respuestas