what is mean by forward declaration and where we'll use it.

Answer Posted / guru

Forward Declaration means.. If you are defining a package
body having two procedures , If u want to use second
procedure in the definition of first procedure.. You have to
declare the second package with its arguments (if have)
before using in the definition of first procedure. It’s
labeled as forward declaration

OR

EX1:


DECLARE
PROCEDURE P1 IS
BEGIN
dbms_output.put_line('From procedure p1');
p2;
END P1;
PROCEDURE P2 IS
BEGIN
dbms_output.put_line('From procedure p2');
p3;
END P2;
PROCEDURE P3 IS
BEGIN
dbms_output.put_line('From procedure p3');
END P3;
BEGIN
p1;
END;

Output:
p2;
*
ERROR at line 5:
ORA-06550: line 5, column 1:
PLS-00313: 'P2' not declared in this scope
ORA-06550: line 5, column 1:
PL/SQL: Statement ignored
ORA-06550: line 10, column 1:
PLS-00313: 'P3' not declared in this scope
ORA-06550: line 10, column 1:
PL/SQL: Statement ignored

Ex2:
DECLARE
PROCEDURE P2; -- forward declaration
PROCEDURE P3;
PROCEDURE P1 IS
BEGIN
dbms_output.put_line('From procedure p1');
p2;
END P1;
PROCEDURE P2 IS
BEGIN
dbms_output.put_line('From procedure p2');
p3;
END P2;
PROCEDURE P3 IS
BEGIN
dbms_output.put_line('From procedure p3');
END P3;
BEGIN
p1;
END;

Output:
From procedure p1
From procedure p2
From procedure p3


Thanks

Guru

Is This Answer Correct ?    22 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is a common use of group by in sql?

588


Explain scalar functions in sql?

575


How do I truncate a word?

517


What is a heap in sql?

520


What are the possible values that can be stored in a boolean data field?

509






which tcp/ip port does sql server run on? : Sql dba

512


Is a table valued function object?

573


How do you delete duplicates in sql query using rowid?

531


What is the usage of nvl function?

594


What is cursor and why it is required?

548


What are inner outer left and right joins in sql?

509


What is the use of sql trace?

470


What is scalar function in sql?

525


What is pl/sql table? Why it is used?

556


Why is pl sql needed?

503