본문 바로가기
DB/Oracle

오라클 ORA-04091 오류 대응 트리거

by Lohen 2016. 2. 4.
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)

이런식으로

이상


반응형

'DB > Oracle' 카테고리의 다른 글

SQL Function  (0) 2016.02.04
유니코드(UTF-8) 한글 코드표, 한글코드 범위 {AC00-D7AF}  (0) 2016.02.04
oracle user 계정 만료 기간 무제한 설정  (0) 2016.02.04
chang archivelog path  (0) 2016.02.04
오라클 ORA-04091 오류 대처  (0) 2014.02.18