我正在使用数据表通过 Oracle Apex 实用程序加载数据。
我想创建一个触发器,从加载的数据中检查表上的值,然后根据它获得的内容进行更改。
该表有 4 列:id、name、email、type
要加载的数据是这样的:姓名、电子邮件、类型
现在我的触发器:
create or replace TRIGGER BI_USER
before insert ON USER
for each row
declare
begin
if :NEW.ID is null then
select USERID_SEQ.nextval into :NEW.ID from dual;
end if;
:NEW.TYPE := 'something else';
end;
ID 很好用,它从序列中获取一个数字,但是 :new.type 不起作用,它不会改变。我还单独运行 SQL 插入,并且发生了同样的情况。
编辑:new.type 类型是 char(1),我这样写只是为了测试,但它并没有改变......啊我对自己很失望,它在读取数据后抛出错误并且从不触发扳机。
我试图做的是它将具有 TYPE 列的名称,并将该表中的 id 放入 NEW.type
有没有办法改变新的类型?