8.2 전위적 선언(Forward Declaration)
-
동일한 PL/SQL블록에 여러 개의 Sub Program들이 올 수 있는데, 패키지내 함수, 프러시저는 서로 호출을 하거나 호출당하는 입장이다.
-
어떤 프로시저/함수에서 다른 프로시저/함수를 호출할 때 호출당하는 프로시저/함수는 먼저 선언 되어야 한다.(구현부가 뒤쪽에 있는 경우)
SQL> DECLARE
2
-- proc1 선언
3 PROCEDURE
proc1;
4
5
-- proc2 선언 및 구현
6 PROCEDURE proc2(num NUMBER)
IS
7 BEGIN
8 proc1();
9 END;
10
11
-- proc1 구현
12 PROCEDURE
proc1 IS
13 BEGIN
14 proc2(8514790) ;
15 END;
16
17 BEGIN
18 NULL;
19 END;
20 /
PL/SQL 처리가
정상적으로 완료되었습니다.
SQL> DECLARE
2
-- proc1 구현
3 PROCEDURE proc1
IS
4 BEGIN
5 NULL;
6 END;
7
-- proc2 선언 및 구현
8 PROCEDURE proc2(num NUMBER)
IS
9 BEGIN
10 proc1();
11 END;
12 BEGIN
13 NULL;
14 END;
15 /
PL/SQL 처리가
정상적으로 완료되었습니다.