描述两个表(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;
存储过程首先查询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;
2.存储过程中的SELECT 必跟INTO
select count(1) into temp from table where ;
if temp>=1 then
update......;
else
insert .....;
end if;
end;
不正确, LS已有解释建议用MERGE