Concat在Oracle APEX中具有循环变量的项目

时间:2016-08-23 20:05:03

标签: oracle plsql oracle-apex

我有一组具有相同名称的项目,因此我在每个位置编号的末尾添加如下:P77_VARIABLE_1,:P77_VARIABLE_2。

因此,在将它们添加到我的数据库的过程中,我必须获取这些项并进行循环。循环看起来像这样

for i in 1..:P77_NOMBRE_VARIABLE
  loop
    l_variable := new SFD_SI_VARIABLE_TYP(sfd_si_variable_seq.nextval, :P77_NOM_VARIABLE_i, :P77_TYPE_VARIABLE_i);
    SFD_SI_VARIABLE_PKG.AJOUTER(l_variable);
  end loop;

但问题是这不起作用。有人可以知道一种方法来执行这个循环并动态地添加"#34;我的项目(或与变量串联的​​更好方法。谢谢。

1 个答案:

答案 0 :(得分:3)

离开这是否是明智之举(使用单个变量应该是一个数组,例如使用Apex集合),你可以使用v()函数。

for i in 1..:P77_NOMBRE_VARIABLE
loop
  l_variable := new SFD_SI_VARIABLE_TYP(sfd_si_variable_seq.nextval
    ,v('P77_NOM_VARIABLE_'||i)
    ,v('P77_TYPE_VARIABLE_'||i));
  SFD_SI_VARIABLE_PKG.AJOUTER(l_variable);
end loop;