如何编写SQL查询获取Oracle APEX页面引用的共享组件
查询Oracle APEX页面引用的共享LOV组件(21.2.1版本)
要找出页面引用的共享LOV,你需要同时关联三类视图——你提到的apex_application_lovs和apex_application_pages之外,还得用apex_application_page_items,因为页面上的项才是直接引用LOV的载体。
以下是适配你需求的SQL查询,替换对应的应用ID和页面ID就能直接用:
SELECT p.application_id AS 应用ID, p.page_id AS 页面ID, p.page_name AS 页面名称, i.item_name AS 引用LOV的项名称, l.lov_name AS 被引用的共享LOV名称 FROM apex_application_pages p JOIN apex_application_page_items i ON p.application_id = i.application_id AND p.page_id = i.page_id JOIN apex_application_lovs l ON i.application_id = l.application_id AND i.lov_name = l.lov_name WHERE p.application_id = 100 -- 替换为你的目标应用ID AND p.page_id = 10; -- 替换为你的目标页面ID
视图关联逻辑:
apex_application_pages:提供页面的基础标识信息(应用ID、页面ID、名称)apex_application_page_items:存储页面上所有项的配置,其中lov_name字段记录了项引用的共享LOV名称apex_application_lovs:存储应用内的共享LOV定义,通过lov_name与页面项完成关联
如果要查询整个应用所有页面引用的共享LOV,去掉WHERE子句里的p.page_id = 10条件即可。
内容的提问来源于stack exchange,提问作者JozeStrozer
相关产品推荐
相关产品推荐

