如何在HSQLDB中获取当前用户,类似Oracle中sys_context的用法
HSQLDB获取当前登录用户的语法
要实现和Oracle SYS_CONTEXT('USERENV', 'SESSION_USER') 相同的取当前登录用户的效果,HSQLDB有以下几种符合SQL标准的实现方式,不需要额外配置:
- 直接使用标准SQL内置特殊值
CURRENT_USER,返回当前会话的登录用户名,是最通用的写法 - 也可以使用简写
USER,和CURRENT_USER完全等价,写法更简洁 - 如需和其他数据库的标准语法对齐,也可以使用
SESSION_USER,返回结果和上面两个完全一致
使用示例
HSQLDB兼容Oracle的DUAL表用法,可以直接查询获取结果:
-- 写法1:使用CURRENT_USER SELECT CURRENT_USER AS login_user FROM DUAL; -- 写法2:使用简写USER SELECT USER AS login_user FROM DUAL;
如果是在触发器、存储过程、视图定义中调用,直接写对应的关键字即可,不需要额外传参。
内容的提问来源于stack exchange,提问作者kbj
相关产品推荐
相关产品推荐

