SQL SERVER中,如何把一个表中的数据导入到另一个表中?
表A中有字段 a b c
表B中有字段 a b c
两个表中结构可能不太相同,比如主键和关系约束等。
表B中有上千条数据
我只是想把表B中的对应字段的数据导入到表A中,怎么操作呢?
本人SQL只会一知半解,请求高手帮助下,非常感谢。
谢谢大家的回答,还有一个问题,依据大家的答案,我在查询分析器里运行,总是提示“对象名 'B' 无效。”可是B表的表名完全没有错误呀,怎么会无效呢?问题出来哪里呢?谢谢!
再补充下:
这个B表是确实存在的,表名也写的一个字母都不差,两个表都在同一个数据库里,我真是没办法
再问下yanzuoguang同学:
“select * from sysobjects where xtype='U' and name='B'”里“*”和“U”是什么? 展开
1、假如A表存在
则 insert into A(a,b,c) (select a,b,c from B)
2、假如A表不存在
select a,b,c into A from B
3、假如需要跨数据库
insert into ADB.[dbo].A(a,b,c) (select a,b,c from BDB.[dbo].B)
扩展资料:
SQL导入语句
1、如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句
insert into openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')
select * from 表
说明:
SourceDB=c:\ 指定foxpro表所在的文件夹
aa.DBF 指定foxpro表的文件名.
2、导出到excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'
3、/** 导入文本文件
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'
insert into 数据库名.dbo A(a,b,c) (select a,b,c from 数据库名.dbo.B )
insert into b select * from a;
如果是值有几个字段需要
insert into b (cl_1,cl_2,cl_3) select cl_a1,cl_a2,cl_a3 from a;