最好的Teradata比较两个表的内容呢?
-
20-09-2019 - |
题
当你需要比较两个表看到的差异是什么,还有你使用任何工具或快捷方式,或者你handcode的SQL两个表进行比较?
基本上像红门SQL数据的产品的核心功能比较(为我的表模式通常总是匹配)。
背景:以我SQL Server环境中,我创建了一个存储过程,其检查的两个表/视图中的元数据,创建一个查询(如动态SQL),其联接在指定的键列中的两个表,而在比较数据比较列,报告关键的区别和差异数据。该查询可以被打印和改性/复制或只excecuted原样。我们不允许在我们的Teradata环境中创建存储过程,很遗憾。
解决方案
声音等的数据分析工具例如 Talend的打开探查将使最有意义在该点处。
您可以编写一个建立类似的查询到您的SQL Server存储过程中BTEQ语句,然后导出动态生成的SQL。然后,您可以依次运行BTEQ的里面。它可能很麻烦,但有足够的决心,你大概可以模仿的东西了。
其他提示
我不知道这是否是你正在寻找正确的答案。
sel * from database_name1.table_name1
minus
sel * from database_name2.table_name2;
您可以通过选择特定的列做同样的。这将基本上给从表2的不存在的行其在表1。
如果你不是在找这种类型的答案,请忽略这一点,并继续下去。
另外,可以选择如下面
select
table1.keycol1,
table2.keycol2,
(table1.factcol1 - table2.factcol2) as diff
from table1
inner join
table2
on table1.keycol1 = table2.keycol1
and table1.keycol2 = table2.keycol2
where diff <> 0
这只是其中可以给一个想法的分析。请忽略任何语法和的程序化的错误。 希望这有助于。
不隶属于 StackOverflow