can we call a procedure from a function?

Answers were Sorted based on User's Feedback



can we call a procedure from a function?..

Answer / karan

ya it is possible.we could call any sub program in another
sub program.

Is This Answer Correct ?    27 Yes 8 No

can we call a procedure from a function?..

Answer / vivek nagarajan

It is possible to call a function from a procedure.

Is This Answer Correct ?    17 Yes 3 No

can we call a procedure from a function?..

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

can we call a procedure from a function?..

Answer / yaswanth

Procedures cannot be called from functions where functions can be called from procedures.

Is This Answer Correct ?    7 Yes 1 No

can we call a procedure from a function?..

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

can we call a procedure from a function?..

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

can we call a procedure from a function?..

Answer / 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

can we call a procedure from a function?..

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

can we call a procedure from a function?..

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

Post New Answer

More SQL PLSQL Interview Questions

What is an Integrity Constraint?

4 Answers  


Enlist the characteristics of pl/sql?

0 Answers  


What is nosql example?

0 Answers  


Can variables be used in sql statements?

0 Answers  


What is the difference between null value, zero, and blank space?

0 Answers  






Is big data nosql?

0 Answers  


What are the string functions in sql?

0 Answers  


Practice 1: Changes to data will only be allowed on tables during normal office hours of 8.45 in the morning until 5.30 in the afternoon, MONDAY through FRIDAY. A. Create a procedure called SECURE_DML that prevents the DML statement from executing outside of normal office hours, returning the message: “you may only make changes during normal office hours” b. Create a statement trigger on the PRODUCT table which calls the above procedure. c. Test it by inserting a new record in the PRODUCT table.

1 Answers   Tech Mahindra,


Difference between views and materialized views?

5 Answers   BirlaSoft,


What are the parts of a sql statement?

0 Answers  


Is id a reserved word in sql?

0 Answers  


What plvcmt and plvrb does in pl/sql?

0 Answers  


Categories