现在有一个问题,有数据库A和B,A内的表结构和B的表结构不一样,但是B需要的字段在A数据库里面都有,现在就是想通过视图将A里面的我需要的字段创建到一个视图中,然后通过视图把视图内的数据导入到B数据库中。。不知道有没有什么好的方法。。希望大家帮帮忙
详细解释:
A数据库里面有一个表tA,字段如下:tA.a,tA.b,tA.c,tA.d,tA.e,tA.f,tA.g,tA.h
创建一个视图temp,里面包含有下面的字段:tA.c,tA.d,tA.g,tA.h
然后导入到B数据库中,B中有一个表tB,里面的字段如下:tB.a,tB.b,tB.c,tB.d
意在通过视图将tA.c,tA.d,tA.g,tA.h导入到B中对应的字段tB.a,tB.b,tB.c,tB.d中。。

解决方案 »

  1.   


    insert 数据库B..TA
    select c,d,g,h from 数据库A..TA
      

  2.   

    inset into b..表 select 字段 from a..视图其实你不用create view
    直接
    inset into b..表 select 语句就可以了
      

  3.   


    --一个简单的例子--我先把master数据库中的表spt_values的部分结构复制到我现在的数据库ZKWBselect [name],number,[type] into test
    from master..spt_values where 1=2select * from test
    表test有以下字段:name ,number,type
    表master..spt_values有name,number,type,low,high,status这些字段现在我开始把master数据库中的表spt_values里的数据导入到ZKWB数据库中的表testinsert  ZKWB..test
    select  [name],number,[type] from master..spt_valuesselect top 20 * from ZKWB..test
    /*
    name                                number      type
    ----------------------------------- ----------- ----
     (rpt)                              -32768      R  
    YES OR NO                           -1          B  
    SYSREMOTELOGINS TYPES               -1          F  
    SYSREMOTELOGINS TYPES (UPDATE)      -1          F_U
    AF: aggregate function              -1          O9T
    AP: application                     -1          O9T
    C : check cns                       -1          O9T
    D : default (maybe cns)             -1          O9T
    EN: event notification              -1          O9T
    F : foreign key cns                 -1          O9T
    FN: scalar function                 -1          O9T
    FS: assembly scalar function        -1          O9T
    FT: assembly table function         -1          O9T
    IF: inline function                 -1          O9T
    IS: inline scalar function          -1          O9T
    IT: internal table                  -1          O9T
    L : log                             -1          O9T
    P : stored procedure                -1          O9T
    PC : assembly stored procedure      -1          O9T
    PK: primary key cns                 -1          O9T(20 行受影响)
    */
    try
      

  4.   

    同一个实例下,直接用insert into B..b表 select 你需要的字段 from A..a表
    复制表结构的话select 你需要的字段 into B..b1表 from A..a表 where 1=2
      

  5.   

    无需视图 ,直接:
    insert into B.dbo.tB(a,b,c,d)
    select c,d,g,h from A.dbo.tA
      

  6.   

    方法1、
    insert into [目标库名].[架构名].[目标表名](字段名) 
    select 字段名
    from [源表]方法2、
    使用导入导出工具,在导出的过程中选好字段,然后导出数据,再导入到目标表中。视图用在这里有点多余了。