본문 바로가기

Trigger

MySQL 의 Trigger 는 복수의 DML 오퍼레이션에 대해 생성할 수 없다. ORACLE 의 경우 Trigger 를 생성할 때 Trigger 를 동작시킬 동작 (DML) 을혼용해서 사용할 수 있다. 이를테면 특정 테이블에 대해 INSERT, UPDATE, DELETE 에 대해 동작시킬 수 있고,OPERATION 을 FLAG 를 통해 식별할 수 있다. 다시말해 INSERT 에 대해서는 어떤 동작을 취하고,UPDATE 에 대해서는 어떤 동작을 취하고,DELETE 에 대해서는 ... 하지만 MySQL 의 경우는 오퍼레이션을 하나만 지정 가능하다.한 트리거는 INSERT 에 대해서만 동작하며,한 트리거는 UPDATE 에 대해서만 동작하고,한 트리거는 DELETE 에 대해서만 동작한다. 이는 2009 년의 포럼에도 나와있다.( http://forums.mysql.com/read.php?9.. 더보기
MySQL 5.5 Usage of Trigger for Data Cleansing v1.0 MySQL 5.5 Usage of Trigger for Data Cleansing v1.0 Date Ver Etc. 12.09.20 1.0 1. Scenario 기존에 sync_test 라는 이름의 테이블이 있었다. sync_test 는 다음과 같은 컬럼을 가진다. sync_test(syncid + vldenddt) vldenddt 는 datetime 로 default 값으로 ‘9999-12-31 00:00:00’ 이란 값을 가진다. (* 이하에서 ‘9999’ 라 표현하겠다.) 기존에는 9999 인 값과 아닌 값이 sync_test 에 뒤섞여 있는 상황이었으나 9999 인 값을 sync_test 에, 9999 가 아닌 값을 sync_test_history 에 넣길 원한다. APP 단의 수정사항은 존재하지.. 더보기
OGG 11.2.0.1.0 Trigger v1.0 OGG 11.2.0.1.0 Trigger v1.0 Date Ver Etc. 12.08.29 1. Trigger Configuration OGG 환경에서는 Target 시스템에 대해 Trigger 를 disable 해야 한다. 그 이유는 트리거로 발생하는 operation 이 DML 인 경우 이 또한 Redo log 에 남고, 이는 OGG 가 extract 하여 Target System 에 전파되기 때문이다. 이 전파 된 행동 자체는 문제가 없지만 Target 시스템에 동일하게 존재 할 trigger 가 문제된다. Trigger 를 동작시킬 행위 (DML) 도 Target 에 복제되며, Trigger 의 동작도 Target 에 복제 되기 때문에 타겟에서는 Trigger 의 동작이 중첩될 수 있다. 2. P.. 더보기
ORACLE TRACE USER USING TRIGGER v1.0 ORACLE TRACE USER USING TRIGGER from OTN : create trigger http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7004.htm#SQLRF01405 1. Trace 와 Trigger A. TRACE 방법은 AUTOTRACE 와 SQL_TRACE, ORADEBUG, SET EVENTS 를 사용한 방법이 있다. B. TRIGGER 는 PL SQL 블록의 실행시점을 암시적(자동)으로 정의할 수 있다. C. 이번 글에서는 TRACE 와 TRIGGER 를 같이 사용하여 DB에 접근한 세션에 대하여 자동으로 트레이스를 수행하고 이후 트레이스 정보와 대기이벤트 정보등을 조회하는 방법에 대해 이야.. 더보기