Search code examples
sql.netoracletriggersdatabase-trigger

Update query in after insert trigger


I want to update a table named 'B' based on insertion on table 'A',matching between two tables are 'A' table column named 'IDENT' and B table REGION_CODE_MW||MW_ID (combination).I used following trigger but it throws error like(popup)'Enter Binds for New'.What is wrong in trigger

   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;

Solution

  • Instead of IF(:NEW.IDENT != '') THEN, IF(:NEW.IDENT is not null ) THEN may be used

    ( comparison is wrong ).

    Moreover, update statement should be in that 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;