2015-05-02 23 views
0

我有一个审计表,它跟踪用户更新数据。 有两种更新数据的方法,首先通过GUI登录用户将在审计表中更新。其次是通过执行sql查询,现在在这种情况下,我想在审计表中填充登录的数据库用户。我想通过执行查询设置审计用户列的默认值Select user from dual通过查询执行的列默认值

是否有可能在oracle中将列的默认值设置为查询输出的结果?

回答

3

无需查询,只需使用关键字user

create table audit_table 
(
    ... other columns .... 
    changed_when timestamp default current_timestamp not null, 
    changed_by varchar(30) default user    not null 
); 
+0

谢谢回答。但是,你知道是否可以执行查询默认值设置? – Lokesh

+1

@Lokesh:不,这是不可能的。然而,你可以编写一个这样做的函数,然后使用该函数作为默认值。 –