can we call a procedure from a function?
Answers were Sorted based on User's Feedback
Answer / karan
ya it is possible.we could call any sub program in another
sub program.
| Is This Answer Correct ? | 27 Yes | 8 No |
Answer / vivek nagarajan
It is possible to call a function from a procedure.
| Is This Answer Correct ? | 17 Yes | 3 No |
Answer / rat
Yes i am aggree with all three answers but there are
diffrent Scenarios.
you can not call a procedure in which dml ,ddl statement or
transaction controling statement is used.
you can all a procedure in which only select statement is
used.
please chekc if you dont have trust.
| Is This Answer Correct ? | 14 Yes | 2 No |
Answer / yaswanth
Procedures cannot be called from functions where functions can be called from procedures.
| Is This Answer Correct ? | 7 Yes | 1 No |
Answer / rakesh
Surely we can call.
if the procedure is using dml,then mark that procedure as
PRAGMA AUTONOMOUS_TRANSACTION.
then use that procedure in function.
| Is This Answer Correct ? | 5 Yes | 2 No |
Answer / karthi
it is possible to call a function from Procedure but its
not possible to call a Procedure from a function..
| Is This Answer Correct ? | 7 Yes | 6 No |
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 |
Answer / rohini g
It is possible to call a function from Procedure but its
not possible to call a Procedure from a function..
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / alok mbbs
I disagree with Karan and Vivek , i guess they are moving
away from the path .... answer is not upto the mark reason
being :::
Function cannot change the value in table.
Anyone disagree call me @
02267802321
i will explain in detail .....
Any appreciations call me for that
| Is This Answer Correct ? | 5 Yes | 10 No |
What are the different types of tables in sql?
What is partition in sql query?
Can we use views in stored procedure?
what is the boundary line in varrays?
how to Update table Sales_summary with max(sales) data from table sales_dataTable 1. sales_data table Table 2. Sales_summary Region sales Region sales N 500 N 0 N 800 W 0 N 600 W 899 W 458 W 900 I want the Sales_summary After Update like this Region Sales N 800 W 900
how can we find the select statement is indexed or not?
take one table is t1 and in that column name is f1 f1 column values are 200 5000 3000 7000 300 600 100 400 800 400 i want display the values asc and desc in a single output. sample output is f1.a 100 200 300 400 500 600 etc...... and f1.d is 5000 4000 3000 2000 1000 etc...
how to convert numeric values to character strings? : Sql dba
How does a trigger work?
i have a customer table. trans_id trans_date trans_amt debit_credit_indicator 001 01-JAN-13 1099 cr 001 12-JAN-13 500 db 002 24-FEB-13 400 db 002 23-MAR-13 345 cr 001 18-APR-13 800 cr 002 15-MAR-13 600 db 001 12-FEB-13 200 cr i want like this output. trans_id trans_amt debit_credit_indicator i want get highest credit amount and lowest credit amount and highest debit amount and lowest debit amount for each trans_id.
Does varchar need length?
How to sort the rows in sql.
Oracle (3253)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)