DB/Oracle
오라클 ORA-04091 오류 대응 트리거
Lohen
2016. 2. 4. 23:24
create or replace
PACKAGE AMOUNT_DATA_R_PACK AS
TYPE ISEQNO IS TABLE OF AMOUNT_DATA_R.I_SEQNO%TYPE INDEX BY BINARY_INTEGER;
TYPE ITDIFNO IS TABLE OF AMOUNT_DATA_R.I_TDIFNO%TYPE INDEX BY BINARY_INTEGER;
TYPE CDATDT IS TABLE OF AMOUNT_DATA_R.C_DATDT%TYPE INDEX BY BINARY_INTEGER;
TYPE FCRFLW IS TABLE OF AMOUNT_DATA_R.F_CRFLW%TYPE INDEX BY BINARY_INTEGER;
TYPE FCRLVL IS TABLE OF AMOUNT_DATA_R.F_CRLVL%TYPE INDEX BY BINARY_INTEGER;
TYPE FACVLM IS TABLE OF AMOUNT_DATA_R.F_ACVLM%TYPE INDEX BY BINARY_INTEGER;
TYPE CPS IS TABLE OF AMOUNT_DATA_R.C_PS%TYPE INDEX BY BINARY_INTEGER;
TYPE DINSDT IS TABLE OF AMOUNT_DATA_R.D_INSDT%TYPE INDEX BY BINARY_INTEGER;
TYPE CPSO IS TABLE OF AMOUNT_DATA_R.C_PS%TYPE INDEX BY BINARY_INTEGER;
TYPE FACVLMO IS TABLE OF AMOUNT_DATA_R.F_ACVLM%TYPE INDEX BY BINARY_INTEGER;
NEW_ISEQNO ISEQNO;
NEW_ITDIFNO ITDIFNO;
NEW_CDATDT CDATDT;
NEW_FCRFLW FCRFLW;
NEW_FCRLVL FCRLVL;
NEW_FACVLM FACVLM;
NEW_CPS CPS;
NEW_DINSDT DINSDT;
NEW_CPSO CPSO;
NEW_FACVLMO FACVLMO;
SUB_INDEX BINARY_INTEGER;
END AMOUNT_DATA_R_PACK;
1. 데이터 넣으려고 패키지 생성
2. 데이터 초기화 BEFORE일경우에
create or replace
TRIGGER AMOUNT_DATA_R_B_TRG
BEFORE INSERT OR DELETE OR UPDATE ON AMOUNT_DATA_R
BEGIN
AMOUNT_DATA_R_PACK.SUB_INDEX := 0;
END;
3. 데이터 입력 AFTER일경우에
4. 실재 트리거에서
사용
AMOUNT_DATA_R_PACK.NEW_FCRFLW(1)
이런식으로
이상
반응형