使用 BEFORE INSERT 触发器 SQL 将当前用户插入 Table 列

Insert Current User into Table Column Using BEFORE INSERT Trigger SQL

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

这是我目前的情况:

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

但是我收到错误 "NEW or OLD references are not allowed in table level triggers"

如何使用插入前触发器将当前用户插入此 table 的 "created_by" 列?

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

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

你可以试试这个。

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;