Top Most Difference Between Procedure and Function in Oracle
- Procedure can return zero or n values whereas function can return one value which is mandatory.
- Procedures can have input/output parameters for it whereas functions can have only input parameters.
- Procedure allows select as well as DML statement in it whereas function allows only select statement in it.
- Functions can be called from procedure whereas procedures cannot be called from function.
- Exception can be handled by try-catch block in a procedure whereas try-catch block cannot be used in a function.
- We can go for transaction management in procedure whereas we can't go in function.
- Procedures can not be utilized in a select statement whereas function can be embedded in a select statement.
- Function can be used in the SQL statements anywhere in the
WHERE
/HAVING
/SELECT
section where as Stored procedures cannot be. - Function that return tables can be treated as another rowset. This can be used in
JOIN
s with other tables. - Inline Function can be though of as views that take parameters and can be used in
JOIN
s and other Rowset
operations.