Entonces, si está utilizando SQL Server, puede ejecutar esto para encontrar todas las columnas en todas las tablas.
select
'SELECT * FROM '
+ st.name +
' WHERE ' +
sc.name + ' = ''MICROSOFT'' '
from sys.tables st join sys.columns sc on st.object_id = sc.object_id
Al usar el resultado de esta consulta, crea una lista de todas las combinaciones posibles de SELECCIONES para cada columna en cada tabla.
Esto solo genera la lista de todos los comandos, ahora debe ejecutarlos. Para ejecutar cada comando, debe crear un cursor que recorrerá toda la lista de resultados.
Vas a rodear el anterior SELECT
instrucción con un cursor para recorrer cada consulta y ejecutarla. Por lo tanto, el código se convierte en algo como esto
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