0

正在将数据从表 A 迁移到表 B。

表 A 有 2 列 - 一个标识列和一个Content定义为的列varbinary(max)

如何验证表 B 是否已加载正确的Content列数据?T_SQL 的EXCEPT操作符够好吗?有替代方法吗?

谢谢

4

1 回答 1

1

EXCEPT 是这项工作的工具。请注意,与其他SQL Server 集合运算符不同,顺序有所不同。这是使用 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
);
于 2016-12-08T18:55:37.277 回答