Overview
Some of the differences between functions and stored procedures are listed below:
Functions
- We can embed functions in
SELECT
statements.
- Functions only allow
SELECT
statements.
- In functions, we cannot use a try-catch block to handle exceptions.
- In functions, we cannot use transactions.
- We cannot call a function from the stored procedures.
- Functions do not support output parameters.
- Function must have a return value.
Procedures
- We cannot use the procedures in
SELECT
statements.
- Procedures allow
SELECT
statements and DML(update/delete/insert) statements.
- In procedures, we can handle the exceptions using the try-catch block.
- Procedures allow the use of transactions.
- We can call a function from a stored procedure.
- Procedures support the input and output parameters.
- A return value is optional for procedures.