2011-11-25 42 views
0

我想使用触发器根据条件更新整行。我正在尝试这种不适用的情况如何使用触发器基于条件更新整行?

create or replace trigger cust_person_merge_view_t 
instead of update on CUST_MDM_PERSON_MERGE 
referencing new as new 
begin 
     update mdm_person_tt 
     set :old.row = :new.row; 
     where MDM_PARTY_ID =(select mdm_party_id from CUST_MDM_PERSON_MERGE where mdm_entity_id=:old.MDM_ENTITY_ID); 
    if (sql%rowcount = 0) 
     then 
     raise_application_error 
      (-20001, 'Error updating the CUST_MDM_PERSON_MERGE view !!!'); 
    end if; 
end; 
+0

你得到什么错误?你的数据库版本是什么? CUST_MDM_PERSON_MERGE和mdm_person_tt是否相同?请在您的问题中提供更多相关信息。 – Ollie

回答

1

您不能使用old和new来引用整行。您将不得不逐列分配值。