update에대한 trigger를 만들었습니다.
하고자 하는 것은 user1 table에서 update된 내용을 user2 table에 그대로 반영시키는 것입니다.
문제는 trigger시 변경된 특정 레코드만 반영돼야하는데 tigger에 의해 모든 레코드의 내용이 변경됩니다. where 조건이 전혀 먹혀들지 않습니다.
다음은 내용입니다.
/*--------------------------------------------------------------------------*/
ALTER trigger DBA.update_t after update order 1 on
DBA.PDAUSR
referencing old as user1 new as user2
for each row
begin
update USER2 set USID = USER2.USID, USEMPNO = USER2.USEMPNO,USENAME =
USER2.USENAME,USEPW = USER2.USEPW, USELDT = USER2.USELDT,USESTATUS =
USER2.USESTATUS,USEUPDATE = USER2.USEUPDATE where USID = USER1.USID
end
/*--------------------------------------------------------------------------*/
insert나 delete의 경우 잘 되는데 update만 안됩니다.
where절이 안돼서 USID = '3' 이런 식으로 직접 지정도 해보았는데 모든 레코드를
update시켜버리네요.
도움을 부탁드립니다.
|