我试图在Oracle 11g中创建一个新表,其中列的默认值是当前登录的用户.我需要这样做是为了记录目的.
CREATE TABLE tracking (
pk NUMBER(19,0) PRIMARY KEY,
description VARCHAR2(50),
created_by VARCHAR2(128) DEFAULT CURRENT_USER
);
Run Code Online (Sandbox Code Playgroud)
如何编写该DEFAULT CURRENT_USER部分,以便将当前的Oracle用户作为默认值?我知道我可以使用触发器,但我不应该......
您需要使用USER不CURRENT_USER:
CREATE TABLE tracking (
pk NUMBER(19,0) PRIMARY KEY,
description VARCHAR2(50),
created_by VARCHAR2(128) DEFAULT USER
);
Run Code Online (Sandbox Code Playgroud)
用户的最大长度为30,因此您可以减少此值,我会增加DESCRIPTION列的大小,除非您非常确定所有内容都将少于51个字符.
| 归档时间: |
|
| 查看次数: |
5740 次 |
| 最近记录: |