一般数据库软件的开发都是首先在开发数据库上进行,开发到一定程度后,系统投入运行,此时软件处于维护阶段。维护到一定时期,开发库和运行库之间出现了一些差异,还有一种情况就是如果应用在很多地方同时使用,每次的后台升级,哪些数据库作了升级,哪些还没有作升级,如果没有详细记录的话,也会造成我们的尴尬事情。Oracle中有工具可用来比较两个数据库间的差异。
SQLServer 2000中有吗?
SQLServer 2000中有吗?
有没有免费下载的我没注意看,你到网上按这个名字搜一下。
自己写语句做是比较麻烦的,但肯定是可以做的。
select [name] from
(select [name] from database1.dbo.sysobjects
where xtype='u' and [name] not in
(select [name] from database2.dbo.sysobjects where xtype='u')
)
as table1
union
(select [name] from database2.dbo.sysobjects
where xtype='u' and [name] not in
(select [name] from database1.dbo.sysobjects where xtype='u')
)至于相同表名中有差异的字段我不明白你是指字段名不一样还是字段名相同但类型不同或长度等不同
以下是选出两个库中相同的表:
select [name] from database1.dbo.sysobjects
where xtype='u' and [name] in (select [name] from database2.dbo.sysobjects where xtype='u')
具体判断字段的不同你自己按实际需要再加将语句完善。
可能要参考的系统表有
syscolumns(字段)
systypes(字段类型)
可以下载的,试试吧,我还没用过:)
下载试了,
当两表结构完全相同由于字段排列位置有出入则比较的结果显示为不同TO: fflxg(动力火车)
好的,有空试,问一下powerdesigner支持"反向工程"不?TO: jinfeng_wang(G-G-S,D-D-U)
引"你在联机帮助里面用INFORMATION_SCHEMA就看到了
自己写一些代码吧! 已经不是太难了"呵呵,不好意思,还是不会 :)