Plsql 使用数组填充APEX表单上的文本字段

Plsql 使用数组填充APEX表单上的文本字段,plsql,oracle-apex,plsqldeveloper,Plsql,Oracle Apex,Plsqldeveloper,我使用条形码扫描仪扫描条形码(由订单^位置组成-我使用^作为分隔符),然后需要将这两个值分开并放入两个文本字段中。其想法是将条形码扫描到第三个文本字段中,然后在按下save后使用一个过程将其分离,然后将其保存到单独的表列中。下面是分隔文本的部分,但我现在尝试将数组中的值放入APEX表单上的文本字段中 我有下面的代码,它在SQL developer中使用以下代码行,但是当我更改它们以尝试将值放入文本字段时,它失败了。我想知道我的语法是否正确 dbms_output.put_line(v_arra

我使用条形码扫描仪扫描条形码(由订单^位置组成-我使用^作为分隔符),然后需要将这两个值分开并放入两个文本字段中。其想法是将条形码扫描到第三个文本字段中,然后在按下save后使用一个过程将其分离,然后将其保存到单独的表列中。下面是分隔文本的部分,但我现在尝试将数组中的值放入APEX表单上的文本字段中

我有下面的代码,它在SQL developer中使用以下代码行,但是当我更改它们以尝试将值放入文本字段时,它失败了。我想知道我的语法是否正确

 dbms_output.put_line(v_array(1)); -- This works in SQL Developer

 :P1_ORDER := dbms_output.put_line(v_array(1)); -- Fails in SQL Developer & APEX
当我尝试在SQLDeveloper中运行下面的程序时,我得到了以下信息。请有人帮我将数组中的值传递到APEX表单上的文本字段。谢谢

ORA-06550:第17行第13列: PLS-00222:此范围内不存在名为“PUT_LINE”的函数 ORA-06550:第17行第5列: PL/SQL:忽略语句

 declare

  v_array apex_application_global.vc_arr2;
  P1_ORDER number;
  P1_LOCATION number;

 begin

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

  --dbms_output.put_line(v_array(1));
  --dbms_output.put_line(v_array(2));

  :P1_ORDER := dbms_output.put_line(v_array(1));
  :P1_LOCATION := dbms_output.put_line(v_array(2));

 end;

请参见put_行不是一个函数,它是dbms_输出包中的一个过程

不能将dbms_output.put_行分配给任何变量

试试这个

declare

 v_array apex_application_global.vc_arr2;
 P1_ORDER number;
 P1_LOCATION number;

begin

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

 --dbms_output.put_line(v_array(1));
 --dbms_output.put_line(v_array(2));

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

end;

谢谢,这在SQLDeveloper中是有效的,但是当我在APEX表单上运行代码时,它会显示“ORA-01403:未找到数据”。我遗漏了文本字段:p1_顺序和:p1_位置上的冒号,这没有什么区别。但是,我们现在可以使用数组,因为它是在sql developer中填充/工作的