【问题标题】:Insert Current User into Table Column Using BEFORE INSERT Trigger SQL使用 BEFORE INSERT 触发器 SQL 将当前用户插入表列
【发布时间】:2018-09-24 21:08:33
【问题描述】:

我想使用插入前触发器将当前用户插入“created_by”列。

这是我目前所拥有的:

create or replace trigger course_fp_trg 
before insert on course 
begin
  :new.created_by := user;
end;

但我收到错误“表级触发器中不允许新或旧引用”

如何使用插入前触发器将当前用户插入此表的“created_by”列?

【问题讨论】:

    标签: oracle plsql database-trigger


    【解决方案1】:

    尝试通过添加FOR EACH ROW使其成为行级触发器。

    create or replace trigger course_fp_trg 
    before insert on course for each row
    begin
      :new.created_by := user;
    end;
    

    【讨论】:

      【解决方案2】:

      你可以试试这个。

      create or replace trigger course_fp_trg 
      before insert on course 
      referencing old as old new as new
      for each row
      begin
        :new.created_by := user;
      end;
      

      【讨论】:

        猜你喜欢
        • 2017-11-26
        • 1970-01-01
        • 2021-11-25
        • 1970-01-01
        • 2021-12-24
        • 1970-01-01
        • 1970-01-01
        • 2021-08-15
        • 2021-11-23
        相关资源
        最近更新 更多