posts - 431,  comments - 344,  trackbacks - 0

以前我们在写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 周锐 阅读(2231) 评论(3)  编辑  收藏 所属分类: MySQLOracle

只有注册用户登录后才能发表评论。


网站导航: