日期:2014-05-16  浏览次数:20485 次

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);