2016-12-08 1 views
0

les données sont migrées d'après le tableau A à B. TableauT-SQL - Valider BLOB/varbinary de données (max)

Tableau A a 2 colonnes - une colonne d'identité et une colonne Content définie comme varbinary(max).

Comment puis-je valider que la table B a été chargée avec les données correctes pour la colonne Content? L'opérateur EXCEPT de T_SQL est-il suffisant? Existe-t-il d'autres méthodes?

Merci

+0

J'ai essayé le SQL EXCEPT et cela a fonctionné! Cependant, j'ai cherché d'autres méthodes qui pourraient potentiellement identifier les différences. Avez-vous des suggestions? – Maurice

+0

Joignez A & B sur le champ "identité", ayez une clause where qui sélectionne 'A.data <> B.data' pour sélectionner les données qui seraient différentes. –

Répondre

1

SAUF est l'outil pour ce travail. Notez que contrairement aux autres SQL Server set operators, la commande fait la différence. Voici une façon de valider en utilisant EXCEPT:

-- sample data 
DECLARE @table1 TABLE (id int identity, content varbinary(max)); 
DECLARE @table2 TABLE (id int identity, content varbinary(max)); 

INSERT @table1(content) VALUES (12), (15), (20); 
INSERT @table2(content) 
SELECT content 
FROM @table1; 

--solution 
(
    SELECT id, content FROM @table1 
    EXCEPT 
    SELECT id, content FROM @table2 
) 
UNION ALL 
(
    SELECT id, content FROM @table2 
    EXCEPT 
    SELECT id, content FROM @table1 
);