2016-08-23 61 views
0

我有一组具有相同名称的项目,所以我在每个位置编号的末尾添加如:P77_VARIABLE_1,:P77_VARIABLE_2。Concat在Oracle中有一个循环变量的项目APEX

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

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; 

但问题是这是行不通的。有人可以知道一种方法来执行这个循环,并添加“动态”我的项目(或更好的方式与变量

回答

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; 
相关问题