Donc, si vous utilisez SQL Server, vous pouvez l'exécuter pour trouver toutes les colonnes de toutes les tables.
select
'SELECT * FROM '
+ st.name +
' WHERE ' +
sc.name + ' = ''MICROSOFT'' '
from sys.tables st join sys.columns sc on st.object_id = sc.object_id
En utilisant la sortie de cette requête, vous créez une liste de toutes les combinaisons possibles de SELECTS pour chaque colonne de chaque table.
Cela affiche simplement la liste de toutes les commandes, vous devez maintenant les exécuter. Afin d'exécuter chaque commande, vous devez créer un curseur qui parcourra toute la liste des résultats.
Vous allez entourer le précédent SELECT
avec un curseur pour parcourir chaque requête et l'exécuter. Ainsi, le code devient quelque chose comme ça
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