我一直在解决一个问题几个小时,我觉得我在绕圈子。
我正在编写一个脚本,它将检查从旧数据库到新数据库的表,它也想查看表中是否存在差异。我已经完成了这部分,但想让输出更容易阅读。理想情况下,我希望在表中有记录时发生输出,表示存在差异。因此,如果表 1、4 和 8 存在差异,输出将显示表 1、表 4、表 8。我将添加我的代码片段,但由于隐私原因,我需要更改一些内容。
if exists(
SELECT 'xyz' AS TableName, 1 FROM table1CD
LEFT JOIN database2 CL ON CL.X= CAST(CD.X AS VARCHAR(100)) AND CL.Type = 'type1'
WHERE CL.Type IS NULL
)
Select TableName
Else
UNION
else if exists(
SELECT 'abc' AS TableName, 1 FROM table3 CA
LEFT JOIN database2 CL ON CL.X = CAST(CA.Y AS VARCHAR(100)) AND CL.Type = 'type2'
WHERE CL.Type IS NULL
)
Select TableName
Else
union
more tables with repeating structure
我对这种 SQL 还是很陌生。当我运行它并不断改变它以试图解决它时,我遇到了错误,但我现在在墙上。