现在有一个问题,有数据库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中。。
详细解释:
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中。。
insert 数据库B..TA
select c,d,g,h from 数据库A..TA
直接
inset into b..表 select 语句就可以了
--一个简单的例子--我先把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
复制表结构的话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
insert into [目标库名].[架构名].[目标表名](字段名)
select 字段名
from [源表]方法2、
使用导入导出工具,在导出的过程中选好字段,然后导出数据,再导入到目标表中。视图用在这里有点多余了。