두게의 테이블이 있습니다...
CREATE TABLE MWA0303D ( --------------------- A
CMPT_APPR_NO VARCHAR2(20 BYTE),
APPR_ORD NUMBER,
APPR_MN_ID VARCHAR2(6 BYTE),
APPR_STAT VARCHAR2(1 BYTE)
)
CREATE TABLE M_ALRAM( ------------------------ B
SENDUSER VARCHAR2(15 BYTE),
TARGETUSER VARCHAR2(20 BYTE)
)
A테이블에 트리거를 걸어 B 테블에 insert 하는 로직 입니다...
문제는 A 테이블이 결재 순서를 가지고 있습니다...
A테이블의 1번 결재자가 결재를 했으면 A 테이블의 2번째 결재자 ID를 찾아야 합니다..
CREATE OR REPLACE TRIGGER tU_MWA0303D_01
AFTER INSERT OR UPDATE OF APPR_STAT ON MWA0303D
FOR EACH ROW
DECLARE
var_SENDUSER VARCHAR2(100);
BEGIN
SELECT APPR_MN_ID INTO var_SENDUSER
FROM MWA0303D
WHERE CMPT_APPR_NO = :NEW.CMPT_APPR_NO
AND APPR_ORD = (:NEW.APPR_ORD+1);
END;
여기서 ORA-04091 에러가 발생합니다....
움직이고 있는 자기 자신 테이블을 조회할수 없다는 건데요....
어떻게 해야 두번째 결재자를 찾아 올수 있을까요?
고수분들의 조언 부탁합니다.....^^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
미리 감사 드립니다.... 꾸벅...(--) (_) |