Plsql 将值从数组传递到Apex表单上的文本字段
我在一个过程中使用以下pl/sql来分隔一些文本,然后显示这些文本并将其放入两个文本字段中以保存记录。我看不出以下有什么问题,但是当我在我的APEX上运行该进程时,它显示“ORA-01403:未找到数据”。这是将数组中的值传递给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
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;
在启用调试的情况下运行页面,并检查循环输出的调试消息。在您尝试访问的某个位置上很可能没有价值