Salut J'écris un long programme en TSQL qui extrait des données d'un OLD (et un ensemble de données très sale) les données et reformate la sortie, y compris les en-têtes de colonne pour correspondre à un nouvel ensemble de données les deux nouvelles et anciennes tables. Dans le but de tester, j'apporte 100k lignes de chaque. Pour valider que les structures de table et les attributs de champ sont les mêmes, mon boss m'a demandé d'utiliser le TSQL EXCEPT. Je suis arrivé sur notre serveur 2008 et j'ai extrait les données des nouvelles données de la table 2005 et les données des anciennes données archivées de 2008.TSQl EXCEPT validation
Le code que je utilise est la suivante:
SELECT * FROM #NEW_TABLE
EXCEPT
SELECT * FROM #OLD_TABLE
Les sorties SAUF déclaration tous 100k enregistre de la nouvelle table. Serais-je correct que c'est parce qu'il n'y a pas de correspondance dans les données, plutôt que des problèmes de structure de table car je ne reçois aucune erreur du tout.
Je veux dire correspondance comme dans la structure de la table, l'ordre des champs et les attributs des champs sont tous les mêmes, pas les données elles-mêmes. – JMS49
C'est une requête complètement différente alors. Vous devriez sélectionner sys.columns faisant référence aux deux tables et faire un EXCEPT sur ces résultats à la place. SAUF ne fonctionnera même pas si le nombre de colonnes ne correspond pas, mais il ne peut pas vous dire beaucoup plus que cela. –