【发布时间】:2019-06-19 10:11:00
【问题描述】:
我有这张表,我想在插入触发器之前制作它
这将检查新插入的值是否在 A 列中为 null,然后它将在 B 列中插入 0 + 它将用 sysdate 设置 created_On
这是我想要的输出
COLUMN_A COLUMN_B CREATED_BY UPDATE_BY
null 0 sysdate sysdate
12 1 sysdate sysdate
这是我的触发器
CREATE OR REPLACE TRIGGER SCH.TABLEA_TRG BEFORE
INSERT or update
ON SCH.TABLEA REFERENCING OLD AS old NEW AS new
FOR EACH ROW
begin
if inserting then
:NEW.CREATED_ON := sysdate ;
:NEW.UPDATED_ON := sysdate ;
if :COLUMN_A is null
then set :new.COLUMN_B 0
else :COLUMN_A is not null
then set :new.COLUMN_B 1
elsif updating then
:NEW.UPDATED_ON := sysdate ;
end if;
end;
但它有语法错误,无法弄清楚
【问题讨论】:
标签: oracle plsql database-trigger