gpt4 book ai didi

sql - H2相当于Oracle的用户

转载 作者:行者123 更新时间:2023-12-02 03:32:07 24 4
gpt4 key购买 nike

Oracle 的“user”关键字是否有 H2 等价物?例如,在 Oracle 中,我可以这样做:

SELECT USER FROM DUAL;

它会返回登录到数据库的用户。具体来说,我想将数据库用户默认到表上的 created_by 列,即:

CREATE TABLE MY_TABLE(
CREATED_BY Varchar2(100) DEFAULT USER NOT NULL
...
)

此语句将在 Oracle 数据库中工作,但 H2 会抛出异常

Column "USER" not found;

谢谢!

最佳答案

不是 USER H2 中的函数?

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

关于sql - H2相当于Oracle的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26019476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com