sql数据库 表结构不同能够互导吗?如果可以的话有相关资料吗?谢谢大家了

解决方案 »

  1.   

    insert into 表a(a,b,c) select a,b,c from 表b
      

  2.   

    要想保持约束,还是生成SQL语句
      

  3.   

    insert into 表a(a,b,c) 
    select a,b,c from 表b where 1=2
    只导表结构,不导数据
      

  4.   


    如果字段类型一样,可以用语句直接倒
    insert into 表a(a,b,c) select a,b,c from 表b
      

  5.   

    哦~是我说的不好~我的意思是有两个数据库,分别是a数据库和b数据库
    我想把a数据库里的所有表数据导入到b数据库中的表,但是两个数据库里的表结构有点不一样,表名都一样的
    这样该如何导~!
      

  6.   

    只导结构的话:
    select top 0 * into newtb from tb ("*"可以换成你的字段.)
    导结构和数据的话:
    select * into new tb from tb ("*"可以换成你的字段.)
    只导数据:
    insert into newtb (col1,col2,...) select col1,col2,... from tb (newtb要已经存在的表.)
      

  7.   

    在B库中.
    insert into tb(col1,col2,...) select col1,col2,... from A.dbo.tb
    insert into ta(col1,col2,...) select col1,col2,... from A.dbo.ta
    ....
      

  8.   

    结构不同,是字段名不同?类型不同?
    名称不同只要用insert select 时指定列名
    类型不同时采用类型转换函数
      

  9.   

    创建相同结构的空表可以用如下方法:
    select * into newtable from oldtable where 1=2
      

  10.   


    '可以互倒'
    '如,a表有a1,a2,a3,a4,四个字段'
    '如,b表有b1,b2,两个字段'
    --现在要把b表的字段导入到a表a2,a4中
    insert into a(a2,a4) select b1,b2 from b
      

  11.   

    不同的数据库用sql语句可以导??小弟有点不明白~不同的数据库怎么关联的?
      

  12.   

    1. 
    2个数据库在同一个SQL Server 的实例下
    可以直接用
    insert into 数据库1名.dbo.表名(a, b, c)
    select A, B, C from 数据库2名.dbo.表名
    2.
    2个数据库在不同机器上的使用OpenDataSource
    insert into 数据库1名.dbo.表名(a, b, c)
    select A, B, C from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=ServerName;User ID=MyUID;Password=MyPass'
             ).数据库名.dbo.表名
      

  13.   

    字段名不相同:用AS列名即可
    字段类型不相同:用convert转(当然也用些限制)
    字段长度不同:用substring函数
    导数据用:用into