Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql H2相当于Oracle';用户_Sql_Oracle_H2 - Fatal编程技术网

Sql H2相当于Oracle';用户

Sql H2相当于Oracle';用户,sql,oracle,h2,Sql,Oracle,H2,Oracle的“用户”关键字是否有H2等价物?例如,在Oracle中,我可以执行以下操作: SELECT USER FROM DUAL; 它将返回登录到数据库的用户。 具体来说,我希望将数据库用户默认为表上的created_by列,即: CREATE TABLE MY_TABLE( CREATED_BY Varchar2(100) DEFAULT USER NOT NULL ... ) 此语句将在Oracle数据库中工作,但H2会引发异常 未找到“用户”列 谢谢 在H2中不是函数吗

Oracle的“用户”关键字是否有H2等价物?例如,在Oracle中,我可以执行以下操作:

SELECT USER FROM DUAL;
它将返回登录到数据库的用户。 具体来说,我希望将数据库用户默认为表上的created_by列,即:

CREATE TABLE MY_TABLE(
  CREATED_BY Varchar2(100) DEFAULT USER NOT NULL
  ...
)
此语句将在Oracle数据库中工作,但H2会引发异常

未找到“用户”列

谢谢

在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