请问可不可以用一个SQL语句(在程序中)把一些数据从一个数据库中拷贝到另一个数据库中呢?

liuxiaobo8590 2004-03-31 09:24:48
请问可不可以用一个SQL语句(在程序中)把一些数据从一个数据库中拷贝到另一个数据库中呢?
...全文
69 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hedylin 2004-06-11
  • 打赏
  • 举报
回复
两台机器上的两个数据库,表中数据copy,

麻烦的是自动递增的主键不能copy,否则出错,

麻烦的是如果字段有n多,也要一一列出来,痛苦!有招吗?
goodstudyup 2004-04-01
  • 打赏
  • 举报
回复
关注中,我的比这个还要复杂,我想转移一个表,比如转移某个时间段的,到另外的库中相应的表中,但是,我的这个表还有一个关联表,我想在他转移的时候,同步转移,不知道好实现吗
skyyiyang 2004-04-01
  • 打赏
  • 举报
回复
select * into 本地库名..表名 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名
試試,我用過
shiguangxin 2004-04-01
  • 打赏
  • 举报
回复
在程序中就更容易了

1. 调用存储过程
将上面的写到存储过程中程序调用存储过程

2. 知己写程序
从数据库1中查询,将查询得到的记录插入数据库2中
liuxiaobo8590 2004-03-31
  • 打赏
  • 举报
回复
谢谢 shiguangxin(shiguangxin) .
你这样操作只是在SQL的控制台上操作是可以的,在程序中行不行呢?这种方法我在程序中试过好像是不行的.
liuxiaobo8590 2004-03-31
  • 打赏
  • 举报
回复
谢谢~!
leeboyan(宝宝)的只是真对一个数据库时可以这样操作的.
progress99(如履薄冰):这样可能不行的,这个SQL语句不是在SQL SERVER的操作平台下运行的,而是在程序中运行的.这样一来记录集也找不到了.
shiguangxin 2004-03-31
  • 打赏
  • 举报
回复
不要说是同一台机器上的两个数据库了就是两台机器上的两个数据库也没为题

同一台机器上的两个数据库

insert into 库名.dbo.表(...)
select * from 库名.dbo.表


在多个服务器间进行,条件查询,条件插入操作


select * into 本地库名..表名 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名

insert 本地库名..表名 select * from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名

或使用联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go
progress99 2004-03-31
  • 打赏
  • 举报
回复
insert into 數據庫.dbo.表(...)
select * from 另一個庫.dbo.表
leeboyan 2004-03-31
  • 打赏
  • 举报
回复
insert into table2(field1,field2,..) select field1,field2,.. from table2

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧