Pokud tedy používáte SQL Server, můžete to spustit, abyste našli všechny sloupce ve všech tabulkách.
select
'SELECT * FROM '
+ st.name +
' WHERE ' +
sc.name + ' = ''MICROSOFT'' '
from sys.tables st join sys.columns sc on st.object_id = sc.object_id
Pomocí výstupu tohoto dotazu vytvoříte seznam všech možných kombinací SELECTS pro každý sloupec v každé tabulce.
Tím se pouze zobrazí seznam všech příkazů, které nyní musíte provést. Abyste mohli provést každý příkaz, musíte vytvořit kurzor, který bude přecházet přes celý seznam výsledků.
Obklopíte předchozí SELECT
příkaz s kurzorem, abyste přešli přes každý dotaz a provedli jej. Kód se tedy stává něčím podobným
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