【问题标题】:Column default value via query execution通过查询执行的列默认值
【发布时间】:2015-07-12 00:22:12
【问题描述】:

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

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

【问题讨论】:

    标签: sql oracle audit


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答。但是您知道是否可以执行默认值设置查询?
    • @Lokesh:不,这是不可能的。但是,您可以编写一个执行此操作的函数,然后将该函数用作默认值。
    猜你喜欢
    • 1970-01-01
    • 2013-09-21
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2020-09-02
    • 2022-10-13
    相关资源
    最近更新 更多