sql update语句

来源:百度知道 编辑:UC知道 时间:2024/06/02 13:16:38
求助:两张表,表名:info,另一张是info2 第一个表的备份!
由于新表数据丢失,我现在想修改info表字段a的内容,想从备份表中得到字段a的内容然后update到新表的字段a,而且是id 相同的字段才update!

请问sql 语句如何写?

大概意思是:update info set a=(select a from info2) 字段相同的。

请写出sql 语句。。谢谢
info和info2 不是在同一个数据库中
info表是在10.*.*.0 上 info2 是在10.*.*.1上 !!!!

留个标记
我再三测试,不得不说两句。
楼上的代码不知道你们测试过没有?
我测试了 发生ora-00933错误:sql命令没有正确结束

找半天没有找到原因....
试试这个代码:测试过的
update info
set info.a=(select info2.a from info2
where info2.id=info.id);

update info set info.a=info2.a
from info,info2
where info.id=info2.id

上面的id就是唯一标识

update info set info.a=info2.a from info,info2 where info.id=info2.id

二楼和三楼的写法都对,不过效率上有点问题,如果表中数据量很大的话,建议使用一下方法:
update info
set info.a=info2.a
from info
where id IN (select id form info2)

不在同一个数据库。。

那要用程序去导了。。

不在同一个数据库中怎么可以用一条SQL语句实现呢?你可以用编程的方法先把info2表中的数据读出,然后根据info表的每个记录来检索查找info2表.