Oracle APEX 中如何引用用户登录信息并填充P_Username字段
Oracle APEX 商户申请页用户名自动填充方案
你不需要额外创建用户信息存储表,也不用绑定登录页的P9999_USERNAME字段,直接调用Oracle APEX内置的全局会话变量即可实现需求,操作步骤如下:
- 打开商户申请页的页面设计器,找到名为
P_Username的文本项 - 在该项的「源」配置区,类型选择「PL/SQL 表达式」,表达式框输入
:APP_USER - 按需勾选「仅当会话状态中的项为空时使用」:如果需要每次打开页面都强制展示当前登录用户名,直接取消该勾选即可
- 保存页面修改后重新访问测试,就能看到字段自动填充当前登录用户的用户名
实现原理
:APP_USER是APEX自带的全应用生效的会话级变量,用户登录成功后系统会自动将当前登录的用户名赋值到该变量中,所有应用页面都可以直接调用,不需要依赖单独页面的字段值,也不需要额外做数据存储。
可选优化配置
如果不允许用户修改自动填充的用户名,可以在P_Username的「只读」配置项中选择「始终」,将字段设为只读展示状态。
Stack Overflow 提问优化建议
- 补充你正在使用的Oracle APEX版本号,不同版本的后台配置路径存在细微差异
- 说明你此前尝试绑定
P9999_USERNAME后出现的具体现象(比如字段为空、报错等),可以缩小答主的排查范围 - 补充你的业务场景细节:比如是否允许用户修改自动填充的用户名、后续提交表单时是否要用到该字段值等,答主可以给出更匹配需求的方案
内容的提问来源于stack exchange,提问作者LogicallyFunky
相关产品推荐
相关产品推荐

