在插入触发器 SQL 之前将当前用户插入表列



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

这是我到目前为止所拥有的:

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

但是我收到错误"表级触发器中不允许新的或旧的引用">

如何使用插入前触发器将当前用户插入此表的"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;

最新更新