【问题标题】: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;