Oracle的'user'关键字是否有H2等价物?例如,在Oracle中,我可以这样做:
SELECT USER FROM DUAL;
它将返回登录数据库的用户。 具体来说,我想将数据库用户默认为表上的created_by列,即:
CREATE TABLE MY_TABLE(
CREATED_BY Varchar2(100) DEFAULT USER NOT NULL
...
)
此语句可在Oracle数据库中使用,但H2会抛出异常
未找到“USER”列;
谢谢!
答案 0 :(得分:1)
H2中不是USER
函数吗?
SELECT USER()
将返回当前用户。按预期工作作为列的默认值:
create table MY_TABLE(
CREATED_BY Varchar2(100) DEFAULT USER() NOT NULL,
value Varchar2(10)
)
INSERT INTO MY_TABLE (value) VALUES ('XXX');
作为其他用户:
INSERT INTO MY_TABLE (value) VALUES ('YYY');
SELECT * FROM MY_TABLE;
结果:
CREATED_BY VALUE
SA XXX
SYLVAIN YYY