注册 登录
编程论坛 SQL Server论坛

怎样将SQL语句查询出来然后再导入到数据库中呢?

刘杰明 发布于 2012-05-02 16:24, 685 次点击
我现在有两个项目,需要合并成一个,
需要从一个数据库中把数据查询出来,然后再导入到另一个数据库当中,
怎样实现根据很多条数据的gid 查询出每条数据的详细的信息来,再插入到另一个数据库当中??
比如:
程序代码:
gid   name   address
1     张三     山东
2     李四     北京
3     王五     上海
4     赵六     深圳
已知四条数据的gid 怎样快捷的查出四条完整数据,然后插入到另一个数据库中呢?
求指点!
3 回复
#2
cnfarer2012-05-02 21:19
1.可以用导入功能
2.insert into ...(select ... from (openrowset(...)))  在表已建立的情况下
3.select ... into ??? from (openrowset(...))
4.创建链接服务器,再select ... into ... from server.db..table
#3
刘杰明2012-05-04 15:06
回复 2楼 cnfarer
谢版主,可是两个数据库中的字段名称不是对应的,而且只从原数据库中取几个字段,然后将这几个字段名称分别和新数据库中的字段名称对应起来,然后插入,怎么实现呢?
比如说 原数据库中的车牌号用CPH表示,新数据库中用GCPH表示
                   车辆型号CXH,新数据库中用 GCXH表示
该如何查出再导入呢?
#4
netlin2012-05-05 08:49
解决的办法,二楼已经把各种方法大致都说了!
我补充一些细节吧!
对于这个问题:怎样实现根据很多条数据的gid 查询出每条数据的详细的信息来,再插入到另一个数据库当中?
              可是两个数据库中的字段名称不是对应的,而且只从原数据库中取几个字段,然后将这几个字段名称分别和新数据库中的字段名称对应起来,然后插入,怎么实现呢?

可使用如下方法:
insert into 新表(新字段名1,新字段名2,......)select 字段1,字段2,... from [旧项目所在服务器名称].[旧项目数据库]..旧表 where <筛选gid的条件>

说明:
    1.“新字段名1”与“字段1”对应,名称可相同,也可不同,但位置必须对应。其它字段依此类推。
    2.如果新表的“新字段名1”与旧表的“字段1”的数据类型不一致,则用“cast(字段1 as <新字段名1的类型>)”来代替“字段1”。其它字段依此类推。
    3.如果两个项目的数据库在同一服务器上,“[旧项目所在服务器名称].”可以省略。
1