Oracle:使用 LOV 选择值执行查询

Posted

技术标签:

【中文标题】Oracle:使用 LOV 选择值执行查询【英文标题】:Oracle : Execute Query with LOV selected value 【发布时间】:2014-02-07 12:02:25 【问题描述】:

我需要使用从 LOV 中选择的值运行查询。

我已经有了下一个设置:

名为“MENIU”的块 一个名为“MENIU”的表,其中有一列“ID_MENIU”。 名为“LOV_MENIURI”的 LOV 名为 P_IDMENIU 的参数 表单上名为“Alegeti Meniul”的按钮

为了使用从 LOV 中选择的值运行查询,我尝试了这个:

LOV 返回项“ID_MENIU”设置为 PARAMETER.P_IDMENIU 在块 MENIU 的预查询中,我已将 PARAMETER.P_IDMENIU 值分配给 MENIU.ID_MENIU

按钮“Alegeti Meniul”具有下一个“按下按钮时”触发代码:

declare 
    success boolean;
begin
Enter_Query;
success := show_lov('LOV_MENIURI');
Execute_Query;
end;

我的问题是,第一次按下按钮时没有任何反应,如果我第二次按下按钮,LOV 窗口就会出现并且查询会执行两次。

带有结果的 GIF:

【问题讨论】:

【参考方案1】:

您不需要那个 enter_query 调用。

begin 
  if show_lov('LOV_MENIURI') then
    execute_query;
  end if; 
end;

调用内置的 execute_query 时,您将触发预查询触发器,使用 LOV 返回的值设置 where 子句。

【讨论】:

以上是关于Oracle:使用 LOV 选择值执行查询的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Apex 根据 LOV 选择的值动态启用/禁用文本字段

Oracle Apex - 逗号分隔的 LOV

在 oracle 表单 10g 中的 LOV 填充后未触发后查询触发器

在 Oracle Forms 10g 中使用 LOV 值过滤数据块

Oracle Apex 5.1:基于 LOV(值列表)的报告列显示返回值而不是显示值

EBS FORM基本5. 值列表(LOV)