오라클에서 사용하는 트리거군요
>>배두환 님께서 쓰시길<<
:: 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시켜버리네요.
:: 도움을 부탁드립니다.
|