如果有2个数据库A和B,如何把他们之间有相同的表找出来!SQL语句能表示出啦吗?请高手赐教!!
在线等待!

解决方案 »

  1.   

    意思是我想通过一条SQL语句来查询这两个数据库中,有哪些表是相同的!
      

  2.   

    谢谢,一直在线回复我的问题。我建了2个数据库,其中一个是备份的。比如:B数据库是备份的。但是发现B数据库比A数据库少了几个表,还有SP
    。因为这些表和SP,还有视图都有一千多个啊。一个去找很费时间的。
    现在想通过SQL语句来查找,是少了哪几个表。主要的意思是这些!不知道,我说的是不是很明白!
    再次感谢WWWWA
      

  3.   

    系统表SYSCATALOG列出数据库中的所有表。您可以以查看数据库中任何其它表中的数据相同的方式查看 SYSCATALOG 视图中的数据。系统表和视图的所有者是特殊用户 ID SYS。此表中的列包含其它重要信息。例如,creator表示每个表的创建者;tname 表示每个表的名字;ncols 的列是每个表中列的数目;名为tabletype的列将该表标识为基表或视图。
      

  4.   

    SELECT * FROM a
    INTERSECT
    SELECT * FROM b
      

  5.   

    hunterxdemon ,你说的好像不很对哦。
    不知道有测试过没?
      

  6.   


    直接用sysobjects表就行了。给你个提示,select * from dbname.dbo.sysobjects where xtype='U'然后就简单了,直接两个sysobjects做left join, is null 就行了。.
        [align=center]====  ====
    [/align]
    .
    贴子分数<20:对自已的问题不予重视。
    贴子大量未结:对别人的回答不予尊重。
    .
      

  7.   

    --补充完整吧,看楼主能否用得上,以下是SQL SERVER中的实现
    select a.name from 
     (select name from test1..sysobjects where xtype ='U') a 
    left join (select name from test2..sysobjects where xtype ='U') b on a.name = b.name 
    where b.name is null 
      

  8.   

    select table_name from information_schema.tables where table_schema in ('A','B') group by table_name having count(1) > 1;