Plsql 将值从数组传递到Apex表单上的文本字段

Plsql 将值从数组传递到Apex表单上的文本字段,plsql,oracle-apex,Plsql,Oracle Apex,我在一个过程中使用以下pl/sql来分隔一些文本,然后显示这些文本并将其放入两个文本字段中以保存记录。我看不出以下有什么问题,但是当我在我的APEX上运行该进程时,它显示“ORA-01403:未找到数据”。这是将数组中的值传递给APEX表单上的文本字段的正确方法吗 declare v_array apex_application_global.vc_arr2; begin -- Convert delimited string to array v_array := apex_util.s

我在一个过程中使用以下pl/sql来分隔一些文本,然后显示这些文本并将其放入两个文本字段中以保存记录。我看不出以下有什么问题,但是当我在我的APEX上运行该进程时,它显示“ORA-01403:未找到数据”。这是将数组中的值传递给APEX表单上的文本字段的正确方法吗

declare

v_array apex_application_global.vc_arr2;

begin

-- Convert delimited string to array
v_array := apex_util.string_to_table(:P1_OPERATION_JOB,'^');

:P1_ORDER := v_array(1);
:P1_LOCATION := v_array(2);

end;

您确实可以像这样从数组中检索值。然而,获取ORA-01403错误将表明两个位置都没有数据。(Oracle在尝试访问plsql数组中没有数据的位置的数据时抛出此错误,在select into检索不到数据时抛出相同错误)

我运行此代码只是为了确保分割的输出:

DECLARE
    l_vc_arr2    APEX_APPLICATION_GLOBAL.VC_ARR2;
BEGIN
    apex_debug_message.log_message('Debugging string to table output:');
    l_vc_arr2 := APEX_UTIL.STRING_TO_TABLE(:P1_OPERATION_JOB, '^');
    FOR z IN 1..l_vc_arr2.count LOOP
        apex_debug_message.log_message('Item at position '||z||': '||l_vc_arr2(z));
    END LOOP;
END;
在启用调试的情况下运行页面,并检查循环输出的调试消息。在您尝试访问的某个位置上很可能没有价值