变量绑定问题,把你的SQL贴出来看看

解决方案 »

  1.   

    ls_sql:='merge into jfr_hangyyd a
             using (select gongddw,hangyfl,sum(jifdl) jifdl from (select gongddw,hangyfl,sum(jifdl) jifdl 
                      from jf_jifdl where yuef=:1 and gongddw in (select danwbh from yda_gongddw where cengcbm like :3) and hangyfl is not null group by gongddw,hangyfl
                    union 
                    select gongddw,hangyfl,sum(jifdl) jifdl 
                      from jf_jifdl'||ls_qn||' where yuef=:1 and gongddw in (select danwbh from yda_gongddw where cengcbm like :3) and hangyfl is not null group by gongddw,hangyfl)
                    group by gongddw,hangyfl) b
                    on (a.hangyfl=b.hangyfl
                      and a.gongddw=b.gongddw
                      and a.yuef=:2
                      and a.gongddw in (select danwbh from yda_gongddw where cengcbm like :3))
                    when matched then update
                      set a.qungydl=b.jifdl
                    when not matched then insert(a.gongddw,a.hangyfl,a.yuef)
                                          values(b.gongddw,b.hangyfl,:2)';
           execute immediate ls_sql using ls_qngy,as_yf,ls_ccbm;