트리거 관련 삭제 대상 확인 방법 0 1 1,163

by 권사마 [SQL Query] [2018.06.01 12:20:01]


안녕하세요~ 트리거 관련 질문이 있습니다.

특정테이블 삭제할때 트리거를 이용해서 삭제된 데이터를 다른 테이블로 저장할려고 하는데요

혹시 삭제한 사람?의 정보를 알수 있을까 해서요..

아래 쿼리보시면 삭제한 날짜와, 삭제한 대상? 의 정보를 넣고 싶은데...

혹시 지원되는 방법이 있는지 아시는분 계실까요?

 

CREATE OR REPLACE TRIGGER TEST_DEL
   BEFORE DELETE
   ON TEST
   
FOR EACH ROW
BEGIN
   IF DELETING THEN
      
        INSERT INTO TEST (        
              TEST1,
              TEST2,             
              INS_ID,
              DEL_DATE             
        ) VALUES(
              :old.TEST1,
              :old.TEST2,              
              '삭제한 대상을 알수 있는 정보?',
              TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')
        );   
   
   END IF;
END;
 

 

by 마농 [2018.06.01 14:28:55]

DB 에서의 작업은 DB user 를 통해 이루어 집니다.
DB 안에서의 user 확인은 가능하지만.
DB 밖에서의 해당 user 로 로그인한 사람이 누군지는 알 수 없을 듯 하네요.
sys_context('userenv', param) 을 이용하여 환경정보를 얻어 올 수는 있습니다.
prameter 로 host, module, terminal 등을 입력해서 정보를 확인해 보세요.
SELECT sys_context('userenv', 'host') FROM dual;

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입