插入触发器后更新查询

时间:2018-05-08 17:02:32

标签: sql .net oracle triggers database-trigger

我想更新名为' 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;

1 个答案:

答案 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;