Så hvis du bruger SQL Server, kan du køre dette for at finde alle kolonnerne i alle tabellerne.
select
'SELECT * FROM '
+ st.name +
' WHERE ' +
sc.name + ' = ''MICROSOFT'' '
from sys.tables st join sys.columns sc on st.object_id = sc.object_id
Ved at bruge outputtet fra denne forespørgsel opretter du en liste over alle mulige kombinationer af SELECTS for hver kolonne i hver tabel.
Dette udsender bare listen over alle kommandoer, nu skal du udføre dem. For at udføre hver kommando skal du oprette en markør, der vil gå over hele listen over resultater.
Du kommer til at omgive den forrige SELECT
sætning med en markør for at gå over hver forespørgsel og udføre den. Dermed bliver koden sådan noget her
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