在Oracle APEX中使用循环变量对项目进行编码
我有一组名称相同的项目,所以我在每个项目的末尾添加位置号,如:P77_VARIABLE_1,:P77_VARIABLE_2 因此,在将它们添加到数据库的过程中,我必须获取这些项并进行循环。循环将如下所示在Oracle APEX中使用循环变量对项目进行编码,oracle,plsql,oracle-apex,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_VARIAB
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;
但问题是这不起作用。是否有人知道执行此循环并“动态”添加我的项的方法(或者使用变量i进行串联的更好方法)。谢谢。不谈这是否明智(使用单个变量作为数组,例如使用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;
撇开这是否是明智之举不谈(对可能应该是数组的对象使用单个变量,例如使用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;