如何在Oracle APEX 19中为Select List选择列表设置默认值
问题原因
- 选择列表的默认值匹配逻辑为匹配返回值而非显示值:你当前的列表值查询
SELECT DESCRIPTION d, NATIONALITY_ID r FROM NATIONALITY ORDER BY DESCRIPTION中,第二位的NATIONALITY_ID是系统实际用于匹配、存储的返回值,第一位DESCRIPTION仅为前端展示的显示值。你两次尝试设置的都是显示值British,系统无法和返回值完成匹配,因此默认值规则不生效,自动展示列表第一个选项。 - 你提交的默认值查询语句中使用了中文全角单引号
‘’,也可能导致查询报错无法拿到正确结果。
解决方案
任选以下任意一种方案操作即可:
方案1:静态值设置(操作最简,推荐)
- 先执行查询拿到「British」对应的唯一
NATIONALITY_ID:
SELECT NATIONALITY_ID FROM NATIONALITY WHERE DESCRIPTION = 'British';
- 将选择列表的默认值类型设为「Static」,赋值为上一步查询到的
NATIONALITY_ID具体值即可。
方案2:SQL查询动态设置
直接调整默认值的SQL查询语句,返回对应的NATIONALITY_ID字段,注意使用英文半角单引号:
SELECT NATIONALITY_ID FROM NATIONALITY WHERE DESCRIPTION = 'British';
检查项(避免其他偶发问题)
- 确认默认值配置的「服务器端条件」「角色权限限制」没有额外规则,防止默认值赋值逻辑被跳过。
- 若该选择列表是交互式网格的列配置,需确认默认值设置在「列属性-默认值」分组下,没有被行级赋值逻辑覆盖。
内容的提问来源于stack exchange,提问作者Daniel Block
相关产品推荐
相关产品推荐

