Oracle apex 变量已定义,但需要使其成为多个值
没有在这里添加大量代码。我有一个APEX应用程序,其中有一个选择列表,我想从该列表中选择多个代码,作为回报,它们填充一个图表。我让它工作,我可以选择一个代码,它填充,但不知道如何使它,所以我可以选择两个值 例如(非真实数据或完整查询) 选择编号列表:(这些编号定义为变量p_编号) 我想选择1234和4567 我在查询中定义了变量 VARCHAR2中的p_编号 还将select_all_3d定义为: c_select_all_3D VARCHAR2(50):=NULL 定义变量的代码Oracle apex 变量已定义,但需要使其成为多个值,oracle-apex,Oracle Apex,没有在这里添加大量代码。我有一个APEX应用程序,其中有一个选择列表,我想从该列表中选择多个代码,作为回报,它们填充一个图表。我让它工作,我可以选择一个代码,它填充,但不知道如何使它,所以我可以选择两个值 例如(非真实数据或完整查询) 选择编号列表:(这些编号定义为变量p_编号) 我想选择1234和4567 我在查询中定义了变量 VARCHAR2中的p_编号 还将select_all_3d定义为: c_select_all_3D VARCHAR2(50):=NULL 定义变量的代码 IF
IF p_number IS NULL
THEN
c_select_all_3D := NULL;
ELSE
c_select_all_3D := ' and number = ''' || p_number || '''';
END IF;
我是否要添加一些内容,使代码的最后一行具有类似于“数字”的内容,或者“数字包含”的内容,这样它就可以拾取我选择的两个变量?如果您要选择多个值,请严格执行以下操作:选择列表项允许您启用“选择多个值”。完成此操作后,项目的值将包含以冒号分隔的选定值,例如
1234:4567
你也会得到同样的结果
如果要使用这些值执行某些操作,则必须将该列拆分为行。有几个选择可以做到这一点;当我们处理Apex时,请参见Apex\u string.string\u to\u table
另一方面,如果你总是只有两个值,你甚至可以
SQL> with test (col) as
2 (select '1234:4567' from dual)
3 select regexp_substr(col, '^\d+') first_value,
4 regexp_substr(col, '\d+$') second_value
5 from test;
FIRS SECO
---- ----
1234 4567
SQL>
首先应该确定一种向过程传递多个值的方法。查看APEX_UTIL.STRING_to_TABLE选项。我是sql/APEX新手,所以当我查找它的作用时,有点困惑,就实现它而言,这是页面上APEX工作区中的动态操作,还是APEX_UTIL.STRING_to_表保存在我调用的过程中,我将把这些值传递到的位置?您选择的任何选项,当您想对存储在同一项中的“多个值”执行某些操作时,将在以后使用它。例如,这可能是一份报告。
SQL> with test (col) as
2 (select '1234:4567' from dual)
3 select regexp_substr(col, '^\d+') first_value,
4 regexp_substr(col, '\d+$') second_value
5 from test;
FIRS SECO
---- ----
1234 4567
SQL>