Étant donné un #, comment puis-je découvrir dans quelle table et colonne il pourrait être trouvé à l'intérieur?
Je me fiche de savoir si c'est rapide, ça doit juste marcher.
Étant donné un #, comment puis-je découvrir dans quelle table et colonne il pourrait être trouvé à l'intérieur?
Je me fiche de savoir si c'est rapide, ça doit juste marcher.
Cela pourrait vous aider. -de Narayana Vyas. Il recherche dans toutes les colonnes de toutes les tables dans une base de données. Je l’ai utilisé avant et ça marche.
Il s’agit de la Proc stockée depuis le lien ci-dessus - le seul changement que j’ai fait était son remplacement par la table temporaire pour une variable de table si vous n’avez pas à retenir pour le laisser tomber chaque fois.
Si vous avez besoin d'exécuter une telle recherche qu'une seule fois, alors vous pouvez probablement aller avec l'un des scripts déjà montré ici. Mais sinon, je vous recommande d'utiliser ApexSQL de Recherche pour cela. Il est gratuit SSMS addin et il m'a vraiment sauvé beaucoup de temps.
Avant d'exécuter l'un des scénarios ci-dessus, vous devez le personnaliser en fonction du type de données que vous souhaitez seerach. Si vous savez que vous êtes à la recherche pour une colonne datetime il n'est pas nécessaire de rechercher dans les colonnes nvarchar. Cela permettra d'accélérer toutes les requêtes ci-dessus.
Basé sur la réponse de bnkdev j’ai modifié le Code de Narayana pour rechercher toutes les colonnes numériques même ceux.
Ça va fonctionner plus lentement, mais cette version détecte effectivement tous correspond à non seulement celles trouvées dans les colonnes de texte.
Je ne peux pas remercier ce mec assez. M’a sauvé jours de recherches à la main !
Il s’agit de mon point de vue indépendant sur cette question que j’utilise pour mon propre travail. Il travaille à SQL2000 et une plus grande, permet à des caractères génériques, colonne de filtrage et recherche la plupart des types de données normal.
Une description de pseudo-code pourrait être``
Je ne le mets sous forme de proc car je ne veux pas de la maintenir sur des centaines de DBs, et c’est vraiment pour un travail spécial quand même. S’il vous plaît n’hésitez pas à formuler des observations sur les corrections de bugs.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.