안녕하세요. 트리거와 프로시저 변수명 관련해서 질문드릴게 있습니다. (Oracle 10g 와 토드를 사용하고있습니다)
테이블 A, B, C, D가 있습니다.
A의 값을->B 로 값을 전달하는 프로시저 = SP1
B->C 로 값을 전달하는 프로시저 = SP2
C->D 로 값을 전달하는 프로시저 = SP3
그리고 B 테이블에 insert 트리거를 겁니다. = TR1
SP1를 실행하면 트리거에 의해 A에서 D까지 값이 전달되는 구조입니다.
(SP1실행 -> TR1시작 -> SP2 -> SP3 -> TR1종료 -> SP1 종료 흐름입니다)
SP2에서 B 테이블에는 CODE 컬럼이 없고 C 테이블에는 CODE컬럼이 존재합니다.
이때 트리거가 실행될 때 선언된 매개변수 값(V_CODE)을 C 테이블에 insert 하려합니다.
TR1 DECLARE 부분에는 V_CODE IN VAR2 :='A' 가 선언되어있습니다.
트리거에 의해 SP2 가 실행될때 SP2 선언부분에는 I_CODE IN VAR2 가 선언 되어있습니다.
SP2 에서 B 에서 C 로 INSERT 할때 C 테이블의 CODE 컬럼 VALUES 에 I_CODE를 넣습니다.
SP3도 마찬가지입니다. 트리거에서 선언한 변수명과 프로시저에서 선언한 변수명이 다른데(트리거 : V_CODE, 프로시저 : I_CODE)
'A'의 값을 전달할 수 있는지 궁금합니다. 아직 초보라 조금 두서없지만 답변해 부탁드립니다.