trigger질문 드립니다. 0 8 221

by 라이너스 [PL/SQL] [2018.07.05 23:00:36]


안녕하세요 trigger에서

insert into test_tatble

(a,b,c)

select a,b,c

from hist_table

이렇게 하면 인서트가 되지 않는데

select into를 해야 하는건지요?

다른 insert문은 다 실행됬는데

저렇게 한것만 insert가 안되서 문의좀 드립니다.

 

by 마농 [2018.07.05 23:13:47]

전체구문과 오류메시지 등을 보여주세요.


by 라이너스 [2018.07.05 23:35:26]

/* 아래 트리거는 PROJECT(프로젝트정보)가  eai i/f받아 a라는 테이블에 추가/수정  후에 자동 발생되는 트리거입니다. */

CREATE OR REPLACE TRIGGER TR_HIST

    AFTER INSERT OR UPDATE  

    ON IF_ADV_TB

    FOR EACH ROW

DECLARE 

    v_gubun   varchar2(1);

BEGIN

    IF v_gubun='I' THEN  /* 추가시 */

      INSERT INTO ABC(A,B,C) VALUES(A,B,C);

       INSERT INTO DEF(A,B,C) VALUES(A,B,C);   

     INSERT INTO HIG(A,B,C)

SELECT A,B,C

FROM TR_HIST where  title:= :NEW:PROP003;

    ELSIF UPDATING THEN /* 수정시 */

........

    ELSIF DELETING THEN /* 삭제시 */

     ..........

    END IF;

 

    

END;

 

v_gubun='I' 이 인서트일때

그냥 인서트문은 실행이 되는데

 

ABC,DEV 테이블에는 data가 들어갔으나

hig테이블엔 데이타가 안들어가는 상황입니다.

그래서 문의 드립니다.

 

 


by 마농 [2018.07.06 08:29:37]

보안상 소스를 변경하여 질문하는 것은 좋지만.
일관성 있게 변경해 주시고 중요 정보는 제외시키시면 안됩니다.
마구잡이로 변경하시면 안됩니다. 앞뒤 문맥은 맞아야 합니다.
보여주신 소스는 말이 안되는 부분들이 보이고.
트리거 이름과 from 절의 테이블명이 같은게 이상하네요? (TR_HIST)
( WHERE title:= ) 이부분에 콜론(:)이 들어간것도 이상하고.
( :NEW:PROP003 )  이부분에 콜론(:)도 이상하고.
정확한 소스를 보여주셔야 판단이 가능할 것 같네요.
에러메시지는 없나요?
정상 수행되는데 그부분만 안되는 건가요?
혹시 그부분에서 에러나면서 Exception 절 타고 정상종료된 것은 아닐런지요?
아니면 해당 쿼리 검색결과가 없어서 입력이 안된 것일수도 있구요.


by 라이너스 [2018.07.06 09:28:34]
네 이게 소스고
한transaction이라 오류가 나면
insert가 되지 않는거니
오류는 안나는거 같습니다.

 
    
 

by 마농 [2018.07.06 09:48:44]

:NEW.head003 = 'SOLUTION' 이 아니면 adv_pjt_hist 에 입력이 안되게 되어 있네요.


by 라이너스 [2018.07.06 09:54:48]

네 마농님 현재 데이타는 SOLUTION로 내려오므로 adv_pjt_hist 는 무조건 입력되고

pjt_base_info도 입력이 됩니다.2건

근데 pjt_code테이블에 insert가 안되는 상황입니다.


by 마농 [2018.07.06 10:50:47]

오류 없이 정상 수행되었는데. 한곳에만 데이터가 안들어 갔다면.
데이터 확인에 있어서 혹시 실수는 없었는지? 꼼꼼히 살펴보고
output 찍어가면서 디버깅 해보시는 수밖에 없어 보입니다.


by 라이너스 [2018.07.06 11:03:44]

항상 감사합니다.

마농님 수정해서 이제 되네요.

좋은 하루 되세요

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입