我想更新名为' B'根据表格中的插入情况,两个表格之间的匹配是“A' A'表格栏名为“IDENT'和B表
REGION_CODE_MW||MW_ID
(组合)。我使用了以下触发器,但它会抛出错误,如(弹出)'输入新的绑定'。触发器出错?
create or replace
trigger testrigger
after insert
on A
for each row
declare
link_id varchar2(200);
BEGIN
IF(:NEW.IDENT != '') THEN
link_id := :NEW.IDENT;
end if;
UPDATE B
SET IMPL_DSGN ='Yes',
EQUIP_AVAILABLE='Yes'
where REGION_CODE_MW
||MW_ID=link_id;
END;
答案 0 :(得分:1)
而不是IF(:NEW.IDENT != '') THEN
,可以使用IF(:NEW.IDENT is not null ) THEN
(比较错误)。
此外,update statement
应该在if statement
:
IF( :NEW.IDENT is not null ) THEN
link_id := :NEW.IDENT;
UPDATE B
SET IMPL_DSGN ='Yes',
EQUIP_AVAILABLE='Yes'
WHERE REGION_CODE_MW||MW_ID=link_id;
END IF;