存储过程的问题,请高手帮下忙,先谢过了
描述两个表(sb_psn,mdm_psn)更新数据,条件列sb_psn.aac001,mdm_psn.sb_psn_id
存储过程首先查询mdm_psn表上sb_psn_id列中如果存在跟aac001列内容相同的记录就更新mdm_psn的信息,如果不存在就insert
存储过程如下所示,哥哥们看看有什么不对,指正一下,先谢谢过了。
create or replace procedure pr_sb_middle_mdm is
begin
if select aac001,sb_psn_id from sb_psn s,mdm_psn m where s.aac001=m.sb_psn_id then
update mdm_psn set(SB01,SB02,SB04,SB05,SB06,SB08,SB10,
SB11,SB12,SB13,SB14,SB15,SB16,SB17,SB18,SB19,SB20,
SB21,SB22,SB23,SB24,SB25,SB26,SB27,SB28)=
(select aac001,aac003,aac004,aac006,aac002,aab001,aac008,aac017,aac005,
aac009,aac023,cac008,aac018,aac019,aac011,aac007,cac009,aac020,
aab001,akc020,aae007,aae005,aac016,aac014,aac015 from sb_psn sb ,mdm_psn mp
where sb.aac001= mp.sb_psn_id and mp.sb_psn_id is not null);
commit;
else
insert into mdm_psn (SB01,SB02,SB04,SB05,SB06,SB08,SB10,
SB11,SB12,SB13,SB14,SB15,SB16,SB17,SB18,SB19,SB20,
SB21,SB22,SB23,SB24,SB25,SB26,SB27,SB28)
(select aac001,aac003,aac004,aac006,aac002,aab001,aac008,aac017,aac005,
aac009,aac023,cac008,aac018,aac019,aac011,aac007,cac009,aac020,
aab001,akc020,aae007,aae005,aac016,aac014,aac015 from sb_psn);
commit;
end if;
end pr_sb_middle_mdm;