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, 6909👍, 0💬
Popular Posts:
How do we create DCOM object in VB6? Using the CreateObject method you can create a DCOM object. You...
What are the five levels in CMMI? There are five levels of the CMM. According to the SEI, Level 1 – ...
What does AddressOf operator do in background ? The AddressOf operator creates a delegate object to ...
What Tools to Use to View HTML Documents? The basic tool you need to view HTML documents is any Web ...
How Oracle Handles Dead Locks? - Oracle DBA FAQ - Understanding SQL Transaction Management Oracle se...