Create Or Replace Procedure Factproc( N In Number, A Out Number) Is
Begin
If N=1 Then
A := 1;
Return;
Elsif N=2 Then
A := 2;
Return;
Else
Factproc(n-1,a);
A := A*n;
Return;
End If;
End;
/
Declare
A Number;
Begin
Factproc(2,a);
Dbms_output.put _line(a);
End;
/
Declare
A Number;
Begin
Factproc(1,a);
Dbms_output.put _line(a);
End;
/
Declare
A Number;
Begin
Factproc(5,a);
Dbms_output.put _line(a);
End;
/
[/code]
Last edited by amitpatel66; Feb 4 '08, 10:14 AM.
Reason: code tags again and again
Return statement can be used in procedures, but its aim is different. You cannot return a value. Return is used only as an escape statement.
CREATE OR REPLACE PROCEDURE try_return(para m NUMBER)
IS
BEGIN
IF param = 1 THEN
dbms_output.put _line('yes , it is the last I see it ');
RETURN ;
END IF;
dbms_output.put _line(' This should not appear if param is 1 - return');
END;
Comment