Q&A

  • 트리거 실행이 안됩니다....TT..꼭 알려주세요
아래 트리거를 create하면
실행이 되지 않습니다.
T_USER 테이블의 APP_TYPE 필드값이 'A'나 'B'로 update될때
SELECT GROUP_ID FROM T_GROUP WHERE GROUP_ID = 2의 값이 없으면
T_GROUP  Insert하고
SELECT USER_ID FROM T_USER_GROUP WHERE GROUP_ID = 2 AND USER_ID = NEW.USER_ID의 값이 없으면
T_USER_GROUP 에 insert하는 트리거를 만든건데...TT

T_USER의 APP_TYPE값이 'A'로 바뀌어도 'B'로 바뀌어도
T_GROUP과 T_USER_GROUP 에 아무 변화가 없습니다.
꼭 보시고 해답을 알려주세요


CREATE TRIGGER T_USER_APP_TYPE_AU
AFTER UPDATE OF APP_TYPE ON T_USER
REFERENCING NEW AS NEW  OLD AS OLD
FOR EACH ROW MODE DB2SQL
WHEN(NEW.APP_TYPE IN('A','B'))
BEGIN ATOMIC
           DECLARE group_id INTEGER;
           DECLARE user_group VARCHAR(20);
           SET group_id = (SELECT GROUP_ID FROM T_GROUP WHERE GROUP_ID = 2);
           SET user_group = (SELECT USER_ID FROM T_USER_GROUP WHERE GROUP_ID = 2 AND USER_ID = NEW.USER_ID);
           IF    group_id <> 2 THEN
                    INSERT INTO T_GROUP (GROUP_ID, GROUP_NAME, GROUP_DESC) VALUES (2, '결재자', '결재자 그룹');
          END IF;

           IF user_group <> NEW.USER_ID THEN
            INSERT INTO T_USER_GROUP (GROUP_ID, USER_ID) VALUES( 2, NEW.USER_ID);
           END IF;
END        
0  COMMENTS