December 2002
Intermediate to advanced
928 pages
85h 29m
English
Programs must be declared before they can be used. PL/SQL supports mutual recursion, in which program A calls program B, whereupon program B calls program A. To implement this mutual recursion, you must use a forward declaration of the programs. This technique declares a program in advance of the program definition, thus making it available for other programs to use. The forward declaration is the program header up to the IS/AS keyword:
PROCEDURE perform_calc(year_in IN NUMBER)
IS
/* Forward declaration for total_cost function. */
FUNCTION total_cost (...) RETURN NUMBER;
/* The net_profit function can now use total_cost. */
FUNCTION net_profit(...) RETURN NUMBER
IS
BEGIN
RETURN total_sales(...) - total_cost(...);
END;
/* The Total_cost function calls net_profit. */
FUNCTION total_cost (...) RETURN NUMBER
IS
BEGIN
IF net_profit(...) < 0
THEN
RETURN 0;
ELSE
RETURN...;
END IF;
END;
BEGIN /* procedure perform_calc */
...
END perform_calc;