Portanto, se você estiver usando o SQL Server, poderá executá-lo para localizar todas as colunas em todas as tabelas.
select
'SELECT * FROM '
+ st.name +
' WHERE ' +
sc.name + ' = ''MICROSOFT'' '
from sys.tables st join sys.columns sc on st.object_id = sc.object_id
Usando a saída dessa consulta, você cria uma lista de todas as combinações possíveis de SELECTS para cada coluna em cada tabela.
Isso apenas exibe a lista de todos os comandos, agora você precisa executá-los. Para executar cada comando, você deve criar um cursor que percorrerá toda a lista de resultados.
Você vai cercar o
SELECT
anterior instrução com um cursor para percorrer cada consulta e executá-la. Assim, o código se torna algo assim DECLARE @myCommand VARCHAR(1000)
DECLARE c CURSOR READ_ONLY FAST_FORWARD FOR
select
'SELECT * FROM '
+ st.name +
' WHERE ' +
sc.name + ' = ''MICROSOFT'' '
from sys.tables st join sys.columns sc on st.object_id = sc.object_id
OPEN c
FETCH NEXT FROM c INTO @myCommand
WHILE @@FETCH_STATUS = 0
BEGIN
sp_executesql @myCommand
FETCH NEXT FROM c INTO @myCommand
END
CLOSE c
DEALLOCATE c