17,086
社区成员
发帖
与我相关
我的任务
分享
create table individualcheckTaskData
(
branchid varchar2(20),
checkerno varchar2(20),
checkername varchar2(20),
siglecheckEfficiency float,
checktotalnum varchar2(20)
);
create table individualendorTaskData
(
branchid varchar2(20),
endendorno varchar2(20),
endendorname varchar2(20),
sigleendorEfficiency float,
endortotalnum varchar2(20)
);
--要插入数据的表的结构为:
create table individualBmdmTaskData
(
examinedUser varchar2(20) not null,
examinedName varchar2(20),
belongBmdm varchar2(20) not null,
checkNum float,
endorNum float,
checkEfficiency varchar2(20),
endorEfficiency varchar2(20)
constraint PK_INDIVIDUALBMDMTASKDATA primary key (examinedUser, belongBmdm)
);
merge into individualBmdmTaskData iv using
(
select ch.branchid,ch.checkerno,ch.checkername,ch.siglecheckEfficiency,ch.checktotalnum,en.endendorname,en.sigleendorEfficiency,en.endortotalnum
from individualcheckTaskData ch,individualendorTaskData en
where ch.branchid=en.branchid and ch.checkerno=en.endendorno
) ce on (iv.examinedUser=ce.checkerno and iv.belongBmdm=ce.branchid)
when not matched then
insert (examinedUser,examinedName,belongBmdm,checkNum,endorNum,checkEfficiency,endorEfficiency,Datacycle)
values(ce.checkerno,ce.checkername,ce.branchid,ce.checktotalnum,ce.endortotalnum,ce.siglecheckEfficiency,ce.sigleendorEfficiency,'2011');
commit;
merge into individualBmdmTaskData iv using
(
select ch.branchid,ch.checkerno,ch.checkername,ch.siglecheckEfficiency,ch.checktotalnum,en.endendorname,en.sigleendorEfficiency,en.endortotalnum
from individualcheckTaskData ch,individualendorTaskData en
where ch.branchid=en.branchid and ch.checkerno=en.endendorno
) ce on (iv.examinedUser=ce.checkerno and iv.belongBmdm=ce.branchid)
when not matched then
insert (examinedUser,examinedName,belongBmdm,checkNum,endorNum,checkEfficiency,endorEfficiency)
values(ce.checkerno,ce.checkername,ce.branchid,ce.checktotalnum,ce.endendorname,ce.sigleendorEfficiency,ce.endortotalnum);
commit;
2.
merge into individualBmdmTaskData iv using
(
select ch.branchid,ch.checkerno,ch.checkername,ch.siglecheckEfficiency,ch.checktotalnum
from (select * from individualcheckTaskData where checkerno is not null) ch left join (select * from individualendorTaskData where endendorno is null) en on ch.branchid=en.branchid
where 1=1
) ce on (iv.examinedUser=ce.checkerno and iv.belongBmdm=ce.branchid)
when not matched then
insert (examinedUser,examinedName,belongBmdm,checkNum,endorNum,checkEfficiency,endorEfficiency)
values(ce.checkerno,ce.checkername,ce.branchid,ce.checktotalnum,0.0,null,null);
commit;
3.
merge into individualBmdmTaskData iv using
(
select en.branchid,en.endendorno,en.endendorname,en.sigleendorEfficiency,en.endortotalnum
from (select * from individualendorTaskData where endendorno is not null) en left join (select * from individualcheckTaskData where checkerno is null) ch on ch.branchid=en.branchid
where 1=1
) ce on (iv.examinedUser=ce.endendorno and iv.belongBmdm=ce.branchid)
when not matched then
insert (examinedUser,examinedName,belongBmdm,checkNum,endorNum,checkEfficiency,endorEfficiency)
values(ce.endendorno,ce.endendorname,ce.branchid,0.0,ce.endortotalnum,null,ce.sigleendorEfficiency);
commit;
merge into individualBmdmTaskData iv using
(
select ch.branchid,ch.checkerno,ch.checkername,ch.siglecheckEfficiency,ch.checktotalnum
from (select * from individualcheckTaskData where checkerno is not null) ch left join (select * from individualendorTaskData where checkerno is null) en on ch.branchid=en.branchid
where 1=1
) ce on (iv.examinedUser=ce.checkerno and iv.belongBmdm=ce.branchid)
when not matched then
insert (examinedUser,examinedName,belongBmdm,checkNum,endorNum,checkEfficiency,endorEfficiency)
values(ce.checkerno,ce.checkername,ce.branchid,ce.checktotalnum,0.0,null,null);
commit;
merge into individualBmdmTaskData iv using
(
select ch.branchid,ch.checkerno,ch.checkername,ch.siglecheckEfficiency,ch.checktotalnum,en.endendorname,en.sigleendorEfficiency,en.endortotalnum
from individualcheckTaskData ch,individualendorTaskData en
where ch.branchid=en.branchid and ch.checkerno=en.endendorno
) ce on (iv.examinedUser=ce.checkerno and iv.belongBmdm=ce.branchid)
when not matched then
insert (examinedUser,examinedName,belongBmdm,checkNum,endorNum,checkEfficiency,endorEfficiency)
values(ce.checkerno,ce.checkername,ce.branchid,ce.checktotalnum,ce.endendorname,ce.sigleendorEfficiency,ce.endortotalnum);
commit;