你能帮我解决下面的问题吗?
问题:我有一个甲骨文顶端页面,其中有一个包含部门名称和员工名称的报告以及复选框。选择一个或多个复选框并单击submit按钮时,应该会发生以下情况。
实现这一目标的最佳途径是什么?
下面是我的密码。
FOR i in 1..APEX_APPLICATION.G_F01.count
LOOP
IF APEX_APPLICATION.G_F01(i) IS NOT NULL THEN
select listagg(dept_name,',') WITHIN GROUP (ORDER BY
TESTSET_PATH) into str_dept_names from emptable
WHERE
emptable._ID=APEX_APPLICATION.G_F01(i) group by dept_name;
END IF;
END LOOP;
FOR REC IN str_dept_names
LOOP
FOR i in 1..APEX_APPLICATION.G_F01.count
LOOP
IF APEX_APPLICATION.G_F01(i) IS NOT NULL THEN
select listagg(ename,',') WITHIN GROUP (ORDER BY
dept_name) into str_enums from
emptable where dept_name LIKE
(rec.str_dept_names) and
emptable .ID
=APEX_APPLICATION.G_F01(i);
myclob:=-myclob||'java -jar test.jar -
dept'||rec.str_dept_names||str_testnums;
END IF;
END LOOP;
END LOOP;我在myclob中的输出应该是: deptA、emp1、emp2
发布于 2019-01-28 01:20:50
在Apex 5中添加的apex_string包使用嵌套表,这些表在SQL中运行得很好。缺点是你必须做一个转换。所以我通常会这样做,以避免循环:
if apex_application.g_f01.count > 0 then
l_dept_ids := apex_string.split( apex_util.table_to_string(
apex_application.g_f01 ), ':' );
select listagg(dept_name,',') WITHIN GROUP (ORDER BY
TESTSET_PATH) into str_dept_names
from emptable
WHERE emptable._ID MEMBER OF l_dept_ids
end if;我不确定我是否理解你的第二个问题。您使用的是LIKE子句,但这似乎非常奇怪。id不是主键吗?
https://stackoverflow.com/questions/54376850
复制相似问题