오라클에서 트리거를 생성했을때, 잘돌아 가고 있는지, 확인할때 쿼리
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;
을 호출하도록한다.
'프로그래밍[개발]' 카테고리의 다른 글
mysql 시작하는 테이블 모두 삭제하기. (0) | 2018.12.11 |
---|---|
Microsoft Network Monitor 3.4 링크 마소 네트워크 모니터 (0) | 2018.05.28 |
오라클 문자열 합치기 WM_CONCAT, LISTAGG, XMLAGG, LEAD (0) | 2018.04.30 |
오라클 NVL, NVL2, NULLIF, COALESCE 등의 함수 (0) | 2018.04.30 |
이클립스 최적화 (0) | 2012.05.31 |