【问题标题】:Oracle forms querying block with values from non-database fieldsOracle 使用来自非数据库字段的值形成查询块
【发布时间】:2014-09-24 19:46:13
【问题描述】:

我有一个包含两个块的表单:

  1. 第一个块是非数据库块,包含一些字段,用户需要使用这些字段输入一些搜索条件

  2. 第二块是基于数据库表的

当用户在第一个块的字段中输入值时,他按下搜索按钮并为第二个块执行查询。我有一个 PRE-QUERY 触发器,其中 DEFAULT_WHERE 根据第一个块中输入的值进行了修改。

问题是我还需要允许用户按不精确的条件进行搜索(例如,使用 % 符号)。

Oracle 的基于数据库的块的正常行为是,在 QUERY-ENTER 模式下,用户可以在数字字段中输入 12356、123% 或 >123,然后无论精确搜索还是非精确搜索都会成功执行查询。

是否有任何标准方法可以根据我的情况区分类似功能?

【问题讨论】:

    标签: sql oracle oracleforms


    【解决方案1】:

    当然可以, 例如,假设您在第一个块中有一个名为 last_name 的字段,因此如果用户想要搜索包含“SMITH”的所有姓氏,则可以输入“%SMITH%”,您所要做的就是使用like 运算符在您的 PRE-QUERY 触发器的 DEFAULT_WHERE 子句中插入 =

    这就是诀窍。 希望这会有所帮助!

    【讨论】:

    • 感谢您的回答。我使用了与您建议的方法相同的方法,因此我创建了一个 PRE-QUERY 触发器,其逻辑负责此“高级”搜索。当我不需要创建 PRE-QUERY 触发器并为此逻辑编写代码时,我只是想也许 Oracle 有一个标准解决方案。
    • 欢迎您。 !据我所知,没有标准的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 2015-11-20
    相关资源
    最近更新 更多