数据正在从表A迁移到表B.
表A有2列 - 标识为Content
的标识列和列varbinary(max)
。
如何验证表B是否已加载Content
列的正确数据? T_SQL的EXCEPT
运算符是否足够好?有替代方法吗?
由于
答案 0 :(得分:1)
EXCEPT是这项工作的工具。请注意,与其他SQL Server set operators不同,顺序有所不同。以下是使用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
);