Sto tentando di eseguire una query su un'istanza di SQL Server per fornirmi un elenco di database che contengono una tabella con un nome specifico. Questo è ciò che ho finora ...C'è un modo per usare `exec` in una clausola where?
select name
from master..sysdatabases
where (exec('use ' + name + '; select 1 from information_schema.tables
where table_name = ''TheTableName'';')) = 1;
Ma io ottenere i seguenti messaggi di errore
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'.
Qual è la sintassi corretta da utilizzare chiamare exec()
in una clausola dove? O c'è un altro modo per fare ciò che sto cercando di fare?
Hmmm un po 'più corto del mio –