我要进行多个变量值判断,变量名为: K11,K12,K13,K14,K15
我想进行一个循环:
F_a 的值可能是5,也可能是10
for p in 1.. f_A loop
 'K1'||p:=a_value
end loop;   这里K1||p 是一个字串,系统是不认为是一个变量名的,那么我怎样把'K1'||p  合并后的字串
转换成是一个变量呢.

解决方案 »

  1.   

    for   p   in   1..   f_A   loop
      'K1' ||  :=a_value
    end   loop;      这里K1 ||  p   是一个字串,系统是不认为是一个变量名的,那么我怎样把'K1' || p     合并后的字串
    转换成是一个变量呢. 
    hhtwya 说的不明白,如有解决方法,是否可以贴代码出来。
      

  2.   


    a_value varchar2(10);
    p number;for p in 1..f_A loop   a_value := 'K1'||to_char(p);
      --do something;end loop;   
      

  3.   

    我是要实现宏替换呀,三楼实现的值:
     a_value := 'K1'||to_char(p);不就得到一个变量了吗?
    如P=1
     a_value := 'K11’;
      

  4.   

    使用动态SQL方式解决了.
     vW_sql:= ' select '||a_value ||'  into  K1'||to_char(i)||')  from dual; ' ;
     execute immediate vW_sql;