can we call a procedure from a function?
Answer Posted / abhishekjaiswal
DECLARE
FUNCTION my_func RETURN NUMBER IS
BEGIN
RETURN 2;
END my_func;
PROCEDURE my_proc IS
BEGIN
DBMS_OUTPUT.PUT_LINE(my_func + 1);
END my_proc;
BEGIN -- main
my_proc;
END; -- main
As shown above, with the function declared first you can call the function from the procedure. However, if you try something like the following (function declared before procedure, and function calls procedure):
DECLARE
FUNCTION my_func RETURN NUMBER IS
BEGIN
my_proc;
RETURN 2;
END my_func;
PROCEDURE my_proc IS
BEGIN
DBMS_OUTPUT.PUT_LINE('22');
END my_proc;
BEGIN -- main
DBMS_OUTPUT.PUT_LINE(my_func);
END; -- main
the compile will fail, because my_func cannot 'see' my_proc. To make it work you need to put in a 'prototype' declaration of my_proc, as follows:
DECLARE
PROCEDURE my_proc;
FUNCTION my_func RETURN NUMBER IS
BEGIN
my_proc;
RETURN 2;
END my_func;
PROCEDURE my_proc IS
BEGIN
DBMS_OUTPUT.PUT_LINE('22');
END my_proc;
BEGIN -- main
DBMS_OUTPUT.PUT_LINE(my_func);
END; -- main
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
when MSQL8.0 is in market
How to find 3rd highest salary of an employee from the employee table in sql?
i have some prob lem to tell me about my self in interview first round ...
What is sql*plus?
What is sql profiler in oracle?
what are aggregate and scalar functions? : Sql dba
Explain 3 basic parts of a trigger.
How do I count records in sql?
How to fetch values from testtable1 that are not in testtable2 without using not keyword?
Why truncate is used in sql?
Which sql statement is used to return only different values?
how can we destroy the cookie? : Sql dba
What is pl/sql table? Why it is used?
what is the difference between a having clause and a where clause? : Sql dba
How to know the last executed procedure?