当前位置: 代码迷 >> Sql Server >> sql数据转移解决思路
  详细解决方案

sql数据转移解决思路

热度:19   发布时间:2016-04-25 01:12:30.0
sql数据转移
现在有一个问题,有数据库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中。。

------解决方案--------------------
SQL code
insert 数据库B..TAselect c,d,g,h from 数据库A..TA
------解决方案--------------------
inset into b..表 select 字段 from a..视图

其实你不用create view
直接


inset into b..表 select 语句就可以了

------解决方案--------------------
SQL code
--一个简单的例子--我先把master数据库中的表spt_values的部分结构复制到我现在的数据库ZKWBselect [name],number,[type] into testfrom 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..testselect  [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_UAF: aggregate function              -1          O9TAP: application                     -1          O9TC : check cns                       -1          O9TD : default (maybe cns)             -1          O9TEN: event notification              -1          O9TF : foreign key cns                 -1          O9TFN: scalar function                 -1          O9TFS: assembly scalar function        -1          O9TFT: assembly table function         -1          O9TIF: inline function                 -1          O9TIS: inline scalar function          -1          O9TIT: internal table                  -1          O9TL : log                             -1          O9TP : stored procedure                -1          O9TPC : assembly stored procedure      -1          O9TPK: primary key cns                 -1          O9T(20 行受影响)*/try
------解决方案--------------------
同一个实例下,直接用

insert into B..b表 select 你需要的字段 from A..a表


复制表结构的话

select 你需要的字段 into B..b1表 from A..a表 where 1=2
------解决方案--------------------
无需视图 ,直接:
insert into B.dbo.tB(a,b,c,d)
select c,d,g,h from A.dbo.tA
------解决方案--------------------
探讨

SQL code

--一个简单的例子

--我先把master数据库中的表spt_values的部分结构复制到我现在的数据库ZKWB

select [name],number,[type] into test
from master..spt_values where 1=2

select * from test
表test有以下字段:name ,number,type
表master.……

------解决方案--------------------
方法1、
SQL code
insert into [目标库名].[架构名].[目标表名](字段名) select 字段名from [源表]
  相关解决方案