Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
Can Sub Procedure/Function Be Called Recursively
Can Sub Procedure/Function Be Called Recursively? - Oracle DBA FAQ - Creating Your Own PL/SQL Procedures and Functions
✍: FYIcenter.com
PL/SQL allows sub procedures or functions to be called recursively. The tutorial example below shows you how to calculate factorial values with a recursive sub function:
SQL> CREATE OR REPLACE PROCEDURE FACTORIAL_TEST AS
2 FUNCTION FACTORIAL(N NUMBER)
3 RETURN NUMBER AS
4 BEGIN
5 IF N <= 1 THEN
6 RETURN 1;
7 ELSE
8 RETURN N*FACTORIAL(N-1);
9 END IF;
10 END;
11 BEGIN
12 DBMS_OUTPUT.PUT_LINE('3! = ' ||
13 TO_CHAR(FACTORIAL(3)));
14 DBMS_OUTPUT.PUT_LINE('10! = ' ||
15 TO_CHAR(FACTORIAL(10)));
16 DBMS_OUTPUT.PUT_LINE('64! = ' ||
17 TO_CHAR(FACTORIAL(64)));
18 END;
19 /
SQL> EXECUTE FACTORIAL_TEST;
3! = 6
10! = 3628800
64! = 126886932185884164103433389335161480802000000000000...
There must be something wrong with the FACTORIAL() definition that causes those many extra '0's in the '64!' result.
2007-04-25, 7063👍, 0💬
Popular Posts:
What is normalization? What are different types of normalization? It is set of rules that have been ...
How will you freeze the requirement in this case? What will be your requirement satisfaction criteri...
interview.FYIcenter.com offers a collections of interview questions and answers for software and Web...
Can you prevent a class from overriding ? If you define a class as “Sealed” in C# and “NotInheritab...
How To Run a JUnit Test Class? A JUnit test class usually contains a number of test methods. You can...