如何将数据从一个数据库插入到另一个数据库的表中

时间:2022-06-01 17:57:55
请问如何将数据从一个数据库表中的数据插入到另一个数据库的表中。都是SQL中的据库,用ADOQuery进行操作的

比如:

A数据库名:业务数据
表名:客户信息
字段名:客户名,姓名,客户编号

B数据库名:客户资料
表名:客户基本信息
字段名:客户名,姓名,客户编号


现在想将,B数据库客户基本信息表中的字段插入到A数据库表中对应的字段中。请这要怎么写呢?

12 个解决方案

#1


insert into DB1.dbo.tableA select * from DB2.dbo.tableA

#2


楼上正解

#3


insert into DB1.dbo.tableA select * from DB2.dbo.tableA where 客戶編號 not in (select 客戶編號 from DB1.dbo.TableA)
//當客戶已經在A數據庫中存在時不插入。

#4


一楼正解。

#5


楼主,你可以将SQL在数据库执行一下试试,没有错误,
再在程序中根据语法写出即可

#6


回楼上各位,那么连接字符串的设定呢?我用了一个TADOConnicetiong,只能指定一个数据库的啊

Provider=SQLOLEDB.1;PassWord=;Persist Security Info=True;User ID=sa;Initial Catalog=业务数据;Data Source=(Local);

#7


如果可以从后端操作,就直接用上面的insert into ... select ...语句
如果只能从前端操作,那就分别连上两个库(用两个TADOConnection),开一个循环,从A库select出数据,一条条insert到B库中

#8


在查询分析器中执行的时候,报下面的错,不知道是不是因为ID是自动编号的问题,请问要怎么处呢?


服务器: 消息 8101,级别 16,状态 1,行 1
仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 '业务数据' 中为标识列指定显式值。

#9


如果字段是关键字段并且是自增的,除非设置 SET IDENTITY_INSERT ON, 否则不能插入。
这种自增字段insert的时候不用手动写。

#10


我用的是二楼的方法进行插入的,报的上面的错。请问应该怎么写呢?

insert into DB1.dbo.tableA select * from DB2.dbo.tableA

#11


直接指定字段
insert into DB1.dbo.tableA(field1, field2) select fieldname1, fieldname2 from DB2.dbo.tableA

#12


谢谢larruping,搞定!

#1


insert into DB1.dbo.tableA select * from DB2.dbo.tableA

#2


楼上正解

#3


insert into DB1.dbo.tableA select * from DB2.dbo.tableA where 客戶編號 not in (select 客戶編號 from DB1.dbo.TableA)
//當客戶已經在A數據庫中存在時不插入。

#4


一楼正解。

#5


楼主,你可以将SQL在数据库执行一下试试,没有错误,
再在程序中根据语法写出即可

#6


回楼上各位,那么连接字符串的设定呢?我用了一个TADOConnicetiong,只能指定一个数据库的啊

Provider=SQLOLEDB.1;PassWord=;Persist Security Info=True;User ID=sa;Initial Catalog=业务数据;Data Source=(Local);

#7


如果可以从后端操作,就直接用上面的insert into ... select ...语句
如果只能从前端操作,那就分别连上两个库(用两个TADOConnection),开一个循环,从A库select出数据,一条条insert到B库中

#8


在查询分析器中执行的时候,报下面的错,不知道是不是因为ID是自动编号的问题,请问要怎么处呢?


服务器: 消息 8101,级别 16,状态 1,行 1
仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 '业务数据' 中为标识列指定显式值。

#9


如果字段是关键字段并且是自增的,除非设置 SET IDENTITY_INSERT ON, 否则不能插入。
这种自增字段insert的时候不用手动写。

#10


我用的是二楼的方法进行插入的,报的上面的错。请问应该怎么写呢?

insert into DB1.dbo.tableA select * from DB2.dbo.tableA

#11


直接指定字段
insert into DB1.dbo.tableA(field1, field2) select fieldname1, fieldname2 from DB2.dbo.tableA

#12


谢谢larruping,搞定!