Oracle apex 如何通过循环迭代在Oracle页面项目中循环使用不同的项目名称

Oracle apex 如何通过循环迭代在Oracle页面项目中循环使用不同的项目名称,oracle-apex,Oracle Apex,我有一个Apex 4.2页面,包含四个页面项: :P236\u作者1\u姓氏 :P236\u作者2\u姓氏 :P236\u作者3\u姓氏 :P236\u作者4\u姓氏 类似地,我的表具有以下字段: 作者1\u姓氏 作者2\u姓氏 作者3\u姓 作者姓名 我想创建一个页面进程来引用循环中的项。比如: Declare l_author_last_name varchar2(512); l_column_name varchar2(512); l_prim_key number; Begi

我有一个Apex 4.2页面,包含四个页面项:
:P236\u作者1\u姓氏 :P236\u作者2\u姓氏 :P236\u作者3\u姓氏 :P236\u作者4\u姓氏

类似地,我的表具有以下字段: 作者1\u姓氏 作者2\u姓氏 作者3\u姓 作者姓名

我想创建一个页面进程来引用循环中的项。比如:

Declare
  l_author_last_name varchar2(512);
  l_column_name varchar2(512);
  l_prim_key number;
Begin
  For i In 1..4 
  Loop
    l_author_last_name := ':P236_AUTHOR' || i || '_LAST_NAME'; 
    l_column_name := 'AUTHOR' || i || 'LAST_NAME';
    --Processing to determine the value of l_prim_key
    Update my_table
      Set l_column_name = l_author_last_name
      Where my_table.prim_key = l_prim_key;
    -- More processing here referencing l_author_last_name
  End Loop;
End;
我如何循环遍历仅由循环迭代次数区分的页面项? 非常感谢你看这个。
Phil

将项目的值存储在一个集合中,然后在该集合中循环如何?如果您通过变量引用列名或表名,请考虑使用<代码>执行即时< /代码>。以下是您的代码修订版:

Declare
  type my_collection is table of varchar2(512);
  collection_of_lastname my_collection := my_collection(:P236_Author1_last_name,:P236_Author2_last_name,:P236_Author3_last_name,:P236_Author4_last_name);
  l_author_last_name varchar2(512);
  l_column_name varchar2(512);
  l_prim_key number;
Begin
  For i In 1..collection_of_lastname.count
  Loop
    l_author_last_name := collection_of_lastname(i); 
    l_column_name := 'AUTHOR' || i || 'LAST_NAME';
    --Processing to determine the value of l_prim_key
    EXECUTE IMMEDIATE 'Update my_table
      Set ' || l_column_name || '=''' || l_author_last_name || 
      ''' Where my_table.prim_key = ' || l_prim_key;
    -- More processing here referencing l_author_last_name
  End Loop;
End;

万斯,谢谢你的回复。它工作得很好!我真的很感谢你的帮助。菲尔