以下触发器将为每个特定列的插入更新表中其他列的值,但不知何故我收到以下错误。
ORA-04084:无法更改此触发类型的新值
即使更新语句似乎在触发器体中也不起作用;
create or replace trigger encode_trigger
after insert on vulnerable_tags
for each row
declare
var1 varchar2(20);
var2 varchar2(40);
begin
var1 := :OLD.tag_name;
var2 := Encode12(var1);
:NEW.ascii_tags := var2;
end;
/
答案 0 :(得分:2)
如果您想更改列中的值,则需要使用BEFORE INSER OR UPDATET
触发器,而不是AFTER INSERT OR UPDATE
触发器。
create or replace trigger encode_trigger
before insert on vulnerable_tags
for each row
declare
var1 varchar2(20);
var2 varchar2(40);
begin
var1:= :OLD.tag_name;
var2:=Encode12(var1);
:NEW.ascii_tags:=var2;
end
出于特定原因,您需要after
吗?