안녕하세요
트리거 때문에 이렇게 질문을 올리게 되었습니다..
CREATE OR REPLACE TRIGGER GETP.EDI_CERTIF_MAIN_INS
AFTER INSERT ON GETP.EDI_CERTIF_MAIN FOR EACH ROW
---------------------------------------------------------------------------------------------------
-- Trigger Name : EDI_CERTIF_MAIN_INS
-- Description : 전자문서 수신 시 해당 테이블에 COMPANY_ID 컬럼을 채워줌.
-- Table : EDI_CERTIF_MAIN
-- Event : INSERT
---------------------------------------------------------------------------------------------------
DECLARE
V_COMPANY_ID VARCHAR2(20);
BEGIN
IF (:OLD.DOCUMENT_IO_TYPE = 'I') THEN
BEGIN
SELECT COMPANY.COMPANY_ID
INTO V_COMPANY_ID
FROM COMMON_COMPANY COMPANY, COMPANY_PARTNER PARTY
WHERE PARTY.COMPANY_ID = COMPANY.COMPANY_ID
AND COMPANY.EDI_CLASS_ID2 = :NEW.DOCUMENT_RECIPIENT_ID
AND PARTY.EDI_CLASS_ID = :NEW.DOCUMENT_SENDER_ID
GROUP BY COMPANY.COMPANY_ID;
UPDATE GETP.EDI_CERTIF_MAIN
SET COMPANY_ID = V_COMPANY_ID
WHERE DOCUMENT_KEY = :NEW.DOCUMENT_KEY
AND DOCUMENT_RECIPIENT_ID = :NEW.DOCUMENT_RECIPIENT_ID
AND DOCUMENT_SENDER_ID = :NEW.DOCUMENT_SENDER_ID;
END;
END IF;
END;
/
위의 트리거인데
제가 변수로 사용한 V_COMPANY_ID 가 아래의 SELECT 조회 절의 INTO 에 제대로 담기지 않아서
UPDATE가 일어나지 않는거 같아요..
어느 부분이 잘 못 되었는지 알려주시면 감사하겠습니다^^