以前我们在写update的时候往往是使用 update tablename set columnname = value这样的简单语法,而今天遇到一个需求,根据一张表中的数据来更新另外一张表中的某些字段值,比如有个A表和B表,A中有字段id,name,email,phone,cno,这里的cno也是唯一的,B表中有id,othercloumn,email,phone,cno,这时候想通过B中的email和phone值来更新A中的email和phone值。我们可以使用一下语句实现这个功能:
update A, B set
A.email= B.email, A.phone= B.phone
where A.cno=B.cno
Oracle中可以如下方式实现:
update A set
(email, phone) = (select B.email, B.phone where B.cno= A.cno)
posted on 2009-07-31 22:14
周锐 阅读(2245)
评论(3) 编辑 收藏 所属分类:
MySQL 、
Oracle