Estoy intentando consultar una instancia de SQL Server para darme una lista de bases de datos que contienen una tabla con un nombre específico. Esto es lo que tengo hasta ahora ...¿Hay alguna forma de usar `exec` en una cláusula where?
select name
from master..sysdatabases
where (exec('use ' + name + '; select 1 from information_schema.tables
where table_name = ''TheTableName'';')) = 1;
Pero me sale el siguiente mensaje de error
Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'exec'.
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near 'name'.
¿Cuál es la sintaxis correcta de utilizar llamar exec()
en una cláusula where? ¿O hay otra forma de hacer lo que estoy tratando de hacer?
Hmmm un poco más corto que el mío –