| 发表于:2007-06-18 10:13:44 楼主 |
存储过程如下: create procedure istaudit.p60_imp_e_systemcal (in strgranularity varchar(1), in strstatisticdate varchar(10), in fieldkey varchar(30), in inof1 varchar(3000), in inof2 varchar(3000), in inof3 varchar(1000), in currname varchar(30), in inof4 varchar(3000) ) begin declare insertsql varchar(4000); if currname = 'cny ' then set insertsql= 'insert into t41_systemcal_upday(organkey , currkey, itemkey , datarange , granularity ,row_num , col_num , statisticdate,calvalue ) ' ¦ ¦ ' select organkey, ' ¦ ¦ '01 ' ¦ ¦ ', ' ¦ ¦ fieldkey ¦ ¦ ', ' ¦ ¦ '1 ' ¦ ¦ ', ' ¦ ¦ strgranularity ¦ ¦ ', ' ¦ ¦ '1 ' ¦ ¦ ', ' ¦ ¦ '1 ' ¦ ¦ ', ' ¦ ¦ 'timestamp_iso( ' ¦ ¦ strstatisticdate ¦ ¦ ') ' ¦ ¦ ', ' ¦ ¦ 'sum(amt_val)/10000 ' ¦ ¦ ' from s01_loan_mid s1 where s1.currkey= ' ¦ ¦ 'cny ' ¦ ¦ inof1 ¦ ¦ inof2 ¦ ¦inof3 ¦ ¦inof4 ¦ ¦ ' group by organkey '; else set insertsql= 'insert into t41_systemcal_upday(organkey , currkey, itemkey , datarange , granularity ,row_num , col_num , statisticdate,calvalue ) ' ¦ ¦ ' select organkey, ' ¦ ¦ '97 ' ¦ ¦ ', ' ¦ ¦ fieldkey ¦ ¦ ', ' ¦ ¦ '1 ' ¦ ¦ ', ' ¦ ¦ strgranularity ¦ ¦ ', ' ¦ ¦ '1 ' ¦ ¦ ', ' ¦ ¦ '1 ' ¦ ¦ ', ' ¦ ¦ 'timestamp_iso( ' ¦ ¦ strstatisticdate ¦ ¦ ') ' ¦ ¦ ', ' ¦ ¦ 'sum(amt_val*s2.smcaexrt/100)/10000 ' ¦ ¦ ' from s01_loan_mid s1,xdzx1.t00_affmsmbd s2 where 1=1 and s1.currkey <> ' ¦ ¦ 'cny ' ¦ ¦ ' and s1.currkey=s2.smcaccyc and s1.organkey=s2.sicabrno and s2.smcars1b= ' ' ' ¦ ¦ inof1 ¦ ¦ inof2 ¦ ¦inof3 ¦ ¦inof4 ¦ ¦ 'group by organkey '; end if; prepare s1 from insertsql; EXECute s1; end; 然后我调的时候,把每个参数都传入,系统报传入的参数currname在上下文中无效. 问问大家,上面的insertsql如何才能执行? |
|
|
|
|