oracle 用B表数据更新A表

使用上边语句,不存在b表中的a表数据不会被更新

请看下面这个过程:

oracle 联表更新_oracle联表更新语句oracle 联表更新_oracle联表更新语句


oracle 联表更新_oracle联表更新语句


declare

cursor c is

select name,classid,,upd from b where A is not null ;

cursor d is

select distct 班级ID,name,班长monitor,联系电话 from A

begina3=(select

for v_emp in c loop

for v_temp in d loop

if(v_temp.班级ID=v_emp.归属班级classid and v_emp.upd>v_temp.upd ) then

update A set 班长monitor=v_emp.人员名name,upd=v_emp.upd;

end if;

end loop;

commit;

end loop;

end;

直接执行就可以了,感觉可以赏点分哦,呵呵。

aset

b3

from

bwhea.a1=b.b1re

and

------补充---------

你的描述很混乱,首先你没有说清楚从B表中选择人当班长的条件,这样就没办法进行查询。其次,你A表和B表有没有关联呢?是根据班级ID关联还是根据归属班级classID关联呢

ORACLE数据库用PLSQL如何批量更新表里的某个字段的内容为文字加上另外一张表里的一个字段的内容?

where b.id=a.id and b.name=a.name)

可以用以下SQL试试,如果有一对多a.a2=b.b2)的情况在b.name=a.name后面加个 and rownum=1:

update

upddate table_a a set a.lname =(select '前缀字符串'||b.lname from table_b b