SQL 想把一个表中的一列数据,更新到更一个表中,请问如何实现?

有两张表,分布在两个不同的数据库中,例:一个数据库名叫Database1另一个叫Database2,Database1里面的表名叫User1,Database2里面的表名叫User2,问:想把数据库Database1中的user1中的一列(如:userid)更新到数据库Database2中的user2中的(如:user_id)中,应如何实现。求教,谢谢!
数据库是SQL2000,user1 和user2是两个数据库中单独的表,并没有任何关系,我只是想把user1中的一列,更新到user2中,仅此而已,而且记录数应该是不一样的。
还有一点是:两个数据库不在一个服务器上

如果是oracle 应该创建dblink
create database link TO_Database1.link
connect to user1
using 'xxx';
xxx 为连接Database1 的本地连接串

然后就可以进行更新了
update table1 set user_id = (select userid from table2@TO_Database1.link where table1.主键= table2.主键)

更新大致就是这个意思,主要是把dblink建立了就可以像正常操作一样进行了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-26
不在同一服务器上没有什么很好的办法了,如果在的话就好办了

数据库是SQL2000,user1 和user2是两个数据库中单独的表,并没有任何关系
这个怎么更新,乱更新??如果user1的记录数大于user2怎么办??
第2个回答  2010-02-26
update user2
set user_id=userid from (select userid from opendatasource('sqloledb','data source=database1ip;user id=sa;password=').database1.dbo.user1
where 关联语句

opendatasource('sqloledb','data source=database1ip;user id=sa;password=')是一种跨库查询函数
具体用法BAIDU,GOOGLE
第3个回答  2010-02-26
upgrade database2.[dbo].user2 u2 set u2.userid=select u1.userid from database1.[dbo].user1 u1
如果不是sql server的话把dbo去掉换成你的schema名看看
第4个回答  2010-02-26
首先建立dblink ,具体建立方法 goole下很多

然后update user2 set userid =(select userid from user1@dblink_name)

这样做的前提是user2和user1的记录数一样
第5个回答  2010-02-26
我想你要实现的是数据同步更新吧!要写存储过程的,也很简单的,要写代码,必要话还要写守护程序,百度我这不不发了,这个属于开发性的东西,需要了可以给我信息
相似回答