【发布时间】:2013-11-16 18:30:45
【问题描述】:
我有一个包含两列的表,两列中都有表名。
例如:
sourceTableName | destinationTableName
--------------- | -------------------
sourceTable1 | destinationTable1
sourceTable2 | destinationTable2
sourceTable3 | destinationTable3
sourceTable4 | destinationTable4
sourceTable5 | destinationTable5 ...
我想在两个方向上比较每对表中的每一行,以发现任何差异:
例如:
SELECT * FROM sourceTable1
EXCEPT
SELECT * FROM destinationTable1
SELECT * FROM destinationTable1
EXCEPT
SELECT * FROM sourceTable1
手动输入表格并不是一个真正的选择,所以我怎样才能获得FROM 位来查看我的“表名表”中的行?
【问题讨论】:
-
@YuriyGalanter。干杯,你能详细说明一下吗?
-
@BankySQL 查看 TSQL 的
EXEC和sp_executesql命令。它们允许您在 VARCHAR 变量中动态构建 SQL 语句,您可以在运行时向其中添加表名,然后执行这些语句。 -
@YuriyGalanter。谢谢,这看起来很有希望。
标签: sql sql-server sql-server-2008 tsql