what is mean by forward declaration and where we'll use it.
Answers were Sorted based on User's Feedback
A forward declaration looks like the package definition
part but is inside the bode.
e.g.
procedure A is
begin
B;
end A;
procedure B is
begin
null;
end B;
will not work, because during call to B B is still unknown
(1 Step compiler) therefore we need a forward declaration:
procedure B;
procedure A is
begin
B;
end A;
procedure B is
begin
null;
end B;
now we can compile
| Is This Answer Correct ? | 30 Yes | 2 No |
Answer / 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 |
Answer / 6/8/07
Forward declaration is used in declaring subprograms that
can be used in packages.
eg: procedure query_emp(empno number,empname varchar);
--procedure is declared.
we should define the procedure next..
the basic idea is :declaration first and definition later.
| Is This Answer Correct ? | 8 Yes | 1 No |
Procedure which allows for Special Sub-program declaration
is nothingbut " Forward Declaration".
| Is This Answer Correct ? | 3 Yes | 0 No |
Can you skip header records while loading? : aql loader
How well can multiple sessions access the same data simultaneously ?
Is vs as in pl sql?
What are the datatypes a available in PL/SQL ?
Can we interchange parameters in procedure while calling
GLOBAL TEMPORARY TABLE over Views in advantages insolving mutating error?
what is an execution plan? When would you use it? How would you view the execution plan? : Sql dba
How One can easily select all even, odd, or Nth rows from a table using SQL queries?
1 SELECT a.field1, b.field2, c.field3, d.field4 2 FROM atable a, atable b, ctable c, dtable d 3 ? 4 ORDER BY 1 What is the minimum number of joins that must be specified on line 3 in the sample code above to properly link the tables? Notice that the table "atable" is aliased twice: once as "a" and once as "b." 1. One join 2. Two joins 3. Three joins 4. Four joins 5. Five joins
What is row_number () in sql?
I i have 2 tables A & B ,A contains 10 records B contains 20 records ,what w'll be the o/p if we perform equijoin,outer join,right outer join,left outer join,full outer join,cross join seperately Can anyone help on this?
What is difference between primary and secondary key?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)