【问题标题】:How to Set Default Value on a Select List in Oracle APEX 19?如何在 Oracle APEX 19 中的选择列表上设置默认值?
【发布时间】:2022-01-03 12:41:28
【问题描述】:

我有一个选择列表来显示国籍列表

SELECT DESCRIPTION d, NATIONALITY_ID r FROM NATIONALITY ORDER BY DESCRIPTION;

这会按字母顺序返回我的列表,这很好。我现在希望默认值为“British”,因为这将是此场景中最常用的值。但是,即使将“显示空值”设置为“否”并且在尝试将默认设置为静态并将其设置为“英国”后它也不起作用,我也尝试将默认设置为“SQL 查询”并且该查询正在

SELECT DESCRIPTION FROM NATIONALITY WHERE DESCRIPTION = ‘British’

我尝试的一切都不起作用,它会继续显示列表中的第一个选择。

【问题讨论】:

    标签: sql oracle-sqldeveloper oracle-apex selectlist


    【解决方案1】:

    选择列表项的值是返回值,不是显示值。

    假设您在 users 表上有一个表单。页面项目之一将是“国籍”。在 users 表中,您将拥有一个列 nationality_id ,其中包含指向国籍表的外键。页面项 P1_NATIONALITY 将包含存储在 users 表中的值 - 即 nationality_id。

    要设置默认值,您可以像这样使用“SQL 查询”:

    SELECT NATIONALITY_ID FROM NATIONALITY WHERE DESCRIPTION = ‘British’
    

    【讨论】:

      【解决方案2】:

      修改ORDER BY子句:

      SQL> with nationality (description, nationality_id) as
        2    (select 'Austrian', 1 from dual union all
        3     select 'Croatian', 2 from dual union all
        4     select 'British' , 3 from dual union all
        5     select 'French'  , 4 from dual
        6    )
        7  select description d, nationality_id r
        8  from nationality
        9  order by case when description = 'British' then 1
       10           end,
       11           description;
      
      D                 R
      -------- ----------
      British           3
      Austrian          1
      Croatian          2
      French            4
      
      SQL>
      

      【讨论】:

        猜你喜欢
        • 2019-05-24
        • 2012-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-31
        • 1970-01-01
        • 1970-01-01
        • 2017-12-08
        相关资源
        最近更新 更多