오라클에서 트리거를 생성했을때, 잘돌아 가고 있는지, 확인할때 쿼리

USER_OBJECTS 테이블을 봤다.

OBJECT_TYPE에 TRRIGER 로 검색을 해보면 오오 STATUS라고 나온다. ㅋ

VALID, INVALID라고 구분되어 있다... 컥... 근데 활성화 비활성화는 구분이 안된다 ㅡ.ㅡ;;;

 

해서 오라클에서 제공해주는 USER_ 테이블중 찾아보니

USER_TRIGGERS라는 놈이 있다. ㅋㅋ 오호랏. 조회를 해보니

STATUS라는 컬럼이 있다.  안에 데이터값은 ENABLED/ DISABLED 크크  활성/비활성 찾았다. 빙고, ㅋ

 

SELECT A.TRIGGER_NAME

       , CASE A.STATUS WHEN 'DISABLED' THEN '사용안함' ELSE ' ' END     AS ENABLED

       , CASE B.STATUS WHEN 'INVALID' THEN '오류있음' ELSE ' ' END   AS STATUS

  FROM USER_TRIGGERS A

        , USER_OBJECTS B

WHERE A.TRIGGER_NAME = B.OBJECT_NAME

  AND B.OBJECT_TYPE = 'TRIGGER'

AND (     A.STATUS = 'DISABLED'

         OR B.STATUS = 'INVALID'

)

--AND A.TABLE_NAME IN ( '' ,'' )

 

요렇게 짜면 문제 있는 트리거 상태를 한눈에 확인 할 수 있을 테다..  훗훗.

 

 

 

그랫더니 요청이 온다.   UI 화면에서 핸들링 하도록 해달라고 ㅡ.ㅡ^

ALTER TRIGGER 트리거명(보통은 테이블명에다 TRIG붙임) DISABLE;

ALTER TRIGGER 트리거명(보통은 테이블명에다 TRIG붙임) ENABLE;

을 호출하도록한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts