아래 트리거에서 빨간색 부분을 after 로, new 로 해봐도 똑같이 같은 오류가 나요.
아주 간단한건데...
miom_div 테이블의 데이타 삭제시 aclm_slip 테이블의 데이타도 삭제해라!!
오류메시지 :
테이블 MATS.MIOM_DIV가 변화하고 있어서 트리거/함수가 이를 볼 수 없습니다
음.. 검색해보니까 before 는 변화하기 전이니까... before 로 쓰면 될거 같은데
왜 저런 오류가 나는지 모르겠어요. ㅠㅠㅠㅠㅠ 도와주세요....
================================================================
CREATE OR REPLACE TRIGGER MATS.trad_miom_div
before delete
ON MATS.MIOM_DIV referencing new as new old as old
for each row
declare
wk_i_busi_gbn mstm_stck.i_busi_gbn%type; /* 업무구분 */
wk_o_slip_no miom_div.o_slip_no%type; /* 전표번호 */
begin
begin
select i_busi_gbn, o_slip_no
into wk_i_busi_gbn, wk_o_slip_no
from miom_div
where d_io = :old.d_io
and i_io = :old.i_io
and i_io_div = :old.i_io_div
and o_io = :old.o_io;
exception
when no_data_found then
wk_i_busi_gbn := '3';
end;
if (wk_i_busi_gbn <> '3') then
begin
DELETE ACLM_SLIP
WHERE D_YY || I_OFFI || D_SLIP || O_SLIP || '0001' = wk_o_slip_no;
exception
when others then
raise_application_error(-20010, replace(replace(replace(sqlerrm,'"',''), chr(10),''), chr(13),''));
end;
end if;
exception
when others then
raise_application_error(-20010, sqlerrm);
end trad_miom_div;
/