테이블에 수행 된 모든 변경 사항을 기록하는 PL/SQL 감사 트리거가 있습니다.레코드를 삭제 한 사용자 찾기
레코드를 삽입/삭제 한 user_id를 찾을 수 있습니다. (user_id는 현재 웹 애플리케이션에 대한 액세스 권한이없는 코드입니다.) 그래서
,
TRIGGER AUD_CONFIG_TRG
AFTER INSERT OR UPDATE OR DELETE ON CONFIG
IF INSERTING OR UPDATING THEN
v_user_value_txt := :NEW.AUDIT_UPDATED_USER_ID;
그러나,에 나는 단순히 OLD.AUDIT_UPDATED_USER_ID 사용할 수 없습니다, 새로운 기록에 액세스 할 수 없습니다 때문에 나는 어느 새를 사용할 수 없습니다, 삭제합니다.
이전에 사용한 DELETE에 대해 생각했지만 여전히이 레코드를 삭제 한 사람이 아닌 이전 사용자 ID 만 얻을 수 있습니다.
누가 레코드를 삭제했는지에 대한 감사를 유지할 수 있도록 변경하려는 경우 어떻게해야합니까? 거기에 코드를 통해 이것을 전달할 수 있습니까?
+1 큰 질문 - 최근에 같은 문제가있었습니다. 이 문제가 발생한 모든 테이블에서 DELETE 권한을 취소하여 문제를 해결했습니다. 즉, "삭제"기능을 추가하여 테이블에 "삭제 된"플래그를 추가하여 사용자의 "삭제"액션을 플래그의 간단한 업데이트로 바꿉니다. –