oracle中,-根据B表的新部门更改A表的旧部门

create table A
(
  BADEPTID VARCHAR2(30) not null, --旧部门编码
  ID NUMBER not null
);
alter table A
  add constraint ID_PK primary key (ID);


create table B
(
  OLD_DEPT VARCHAR2(4000) not null,--旧部门编码
  NEW_DEPT VARCHAR2(200) not null  --新部门编码
);
alter table B
  add constraint TEMP_PK primary key (OLD_DEPT, NEW_DEPT);


--根据B表的新部门更改A表的旧部门
Update A aa
    Set aa.badeptid = (Select ab.new_dept  From B ab Where ab.old_dept = aa.badeptid)
    Where Exists (Select 1 From B ab Where ab.Old_dept = aa.badeptid);

猜你喜欢

转载自dengli19881102.iteye.com/blog/1317019