오라클 PLSQL, 전위적 선언(Forward Declaration), ORACLE 패키지, SQL교육, 오라클교육, 자바교육, 자바학원, ORACLE학원, JAVA학원
http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=717
ojc.asia
https://www.youtube.com/watch?v=qIQOpqpNzpA&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=24

https://www.youtube.com/watch?v=EZl9trYM1HM&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=23

https://www.youtube.com/watch?v=NogWGtTWeg4&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=22

https://www.youtube.com/watch?v=8hc030THr8w&list=PLxU-iZCqT52CfP98Y4gCDKIm52tKvgy36&index=16

오라클 PL/SQL
전위적 선언(Forward Declaration)
이종철
- 동일한 PL/SQL블록에 여러 개의 Sub Program들이 올 수 있는데 어떤 프로시저/함수에서 다른 프로시저/함수를 호출할 때 호출당하는 프로시저/함수는 먼저 선언 되어야 한다. 먼저 선언하지 않으려면 호출하는 프로시저/함수의 앞쪽에 만들면 된다.
DECLARE
-- proc2 선언 및 구현
PROCEDURE proc2(num NUMBER) IS
BEGIN
proc1();
dbms_output.put_line('num : ' || num);
END;
-- proc1 구현
PROCEDURE proc1 IS
BEGIN
dbms_output.put_line('proc1');
END;
BEGIN
proc2(10);
END;
/
proc1();
*
5행에 오류:
ORA-06550: 줄 5, 열9:PLS-00313: 범위 내에 'PROC1'(이)가 선언되지 않았습니다
ORA-06550: 줄 5, 열9:PL/SQL: Statement ignored
– proc1에 대해 상단에서 선언을 하면 된다.
DECLARE
-- proc1 선언
PROCEDURE proc1;
-- proc2 선언 및 구현
PROCEDURE proc2(num NUMBER) IS
BEGIN
proc1();
dbms_output.put_line('num : ' || num);
END;
-- proc1 구현
PROCEDURE proc1 IS
BEGIN
dbms_output.put_line('proc1');
END;
BEGIN
proc2(10);
END;
/
proc1
num : 10
PL/SQL 처리가 정상적으로 완료되었습니다.
– proc1을 먼저 정의하면 된다.
DECLARE
-- proc1 구현
PROCEDURE proc1 IS
BEGIN
dbms_output.put_line('proc1');
END;
-- proc2 선언 및 구현
PROCEDURE proc2(num NUMBER) IS
BEGIN
proc1();
dbms_output.put_line('num : ' || num);
END;
BEGIN
proc2(10);
END;
proc1
num : 10
PL/SQL 처리가 정상적으로 완료되었습니다.
#전위적선언, #PLSQL, #PLSQL함수, #PLSQL프로시저, #PLSQL교육, #PLSQL동영상, #PLSQL이란, #오라클교육, #SQL교육, #자바교육, #자바학원, #오라클학원, #SQL학원, 전위적선언, PLSQL, PLSQL함수, PLSQL프로시저, PLSQL교육, PLSQL동영상, PLSQL이란, 오라클교육, SQL교육, 자바교육, 자바학원, 오라클학원, SQL학원