编写update触发器的不能对同一张表的特定某条数据进行实现,请问是oracle中有这个限制吗?还是我写的有问题呢?
create or replace trigger BF_ZJ_UPDATEZJM
after update of invname on med_invbasdoc
for each row
begin
update med_invbasdoc set invmnecode='aaaa' where :old.pk_medinvbasdoc=:new.pk_medinvbasdoc;
end;
create or replace trigger BF_ZJ_UPDATEZJM
after update of invname on med_invbasdoc
for each row
begin
update med_invbasdoc set invmnecode='aaaa' where :old.pk_medinvbasdoc=:new.pk_medinvbasdoc;
end;
先把你的逻辑理清了,你到底要做什么?sql的where 条件一边应该是列,一边是值,你这两边都是值。
before update or insert on med_invbasdoc
for each row
begin
IF inserting THEN
:new.invmnecode := F_PINYIN(:new.invname) ;
ELSIF updating THEN
if(:old.pk_medinvbasdoc = :new.pk_medinvbasdoc) then
:new.invmnecode := F_PINYIN(:new.invname);
end if;
end if;
end;