|M| 求SQL语句 得出A数据库和B数据库不同的表 谢谢
比如我A数据库有表
A
B
C
然后B数据库有表
A
C
D
E
那么我要查出的是
A数据库在B数据库里面没有的表
这里查出来的为表
B
谢谢
------解决方案--------------------呵呵!!先接分!
如果是在查询分析器里到好办,如果在项目中就麻烦的多了!
------解决方案--------------------分别查询A,B数据库,找出记录,然后再比较就行啦。
select *
from sysobjects
where type = 'u '
------解决方案--------------------“SELECT OBJECT_NAME (id) FROM sysobjects WHERE xtype = 'U '
AND OBJECTPROPERTY (id, 'IsMSShipped ') = 0”,这句可以返回数据库当中的所有用户表,你可以用该语句访问库A和库B,返回的结果分别放到DataTable_A和DataTable_B里,然后用返回的结果写个循环比较就可以了。。。。
------解决方案--------------------分别用
select name from test..sysobjects where type = 'u '
select name from Demo..sysobjects where type = 'u '
得到两个数据库的表名,再在程序中处理比较合适
SQL Server对差集合的支持不好
------解决方案--------------------foreach(DataRow dr_a in DataTable_A.Rows)
{
foreach(DataRow dr_b in DataTable_B.Rows)
{
if(dr_a[0].ToString()!=dr_b[0].ToString())
{
//不同的表
}
}
}