Est-ce que quelqu'un a une bonne méthode pour rechercher une base de données entière pour une valeur donnée? J'ai une chaîne spécifique que je cherche, c'est dans TableA, et c'est aussi un FK à une autre table, TableB, sauf que je ne sais pas quelle table/colonne c'est.SQL Super Search
En supposant qu'il y ait des tableaux jillion et que je ne veuille pas les parcourir tous, et que je devrais peut-être faire cela dans plusieurs cas différents, quelle serait la meilleure façon?
Depuis que je ne voulais pas un pont de code SQL, ma seule idée tout-SQL est:
select tablename and column_name from INFORMATION_SCHEMA.COLUMNS
... puis utilisez un curseur pour parcourir toutes les colonnes, et pour tous les types de données de nvarchar je voudrais exécuter SQL dynamique comme:
SELECT * from @table where @column = @myvalue
Inutile de dire, c'est lent et un porc de la mémoire.
Vous avez des idées?
Est-ce vraiment important que c'est «lent». Tant que c'est plus rapide que de chercher manuellement, vous gagnez. À moins que ce soit un processus dans votre demande pour une raison ou une autre. Dans ce cas, vous devriez vraiment vous pencher sur la conception de votre solution. –
vrai. C'est un outil utilisé en Dev, non en production, et c'est plus rapide que de chercher manuellement.J'étais juste curieux d'une meilleure façon car je ne suis pas vraiment un expert SQL et je me suis dit qu'il y avait une approche plus directe. – LoveMeSomeCode