Stored Procedure VS Function
Stored Procedure VS Function
Stored Procedures are pre-compile objects which are compiled for first time and its compiled
format is saved which executes (compiled code) whenever it is called. But Function is compiled
and executed every time when it is called. For more about stored procedure and function refer
the articles Different types of Stored Procedure and Different types of Function.
Basic Difference
Function must return a value but in Stored Procedure it is optional( Procedure can return zero
or n values).
Functions can have only input parameters for it whereas Procedures can have input/output
parameters .
Functions can be called from Procedure whereas Procedures cannot be called from Function.
Advance Difference
Procedure allows SELECT as well as DML(INSERT/UPDATE/DELETE) statement in it whereas
Function allows only SELECT statement in it.
Procedures can not be utilized in a SELECT statement whereas Function can be embedded in a
SELECT statement.
Functions that return tables can be treated as another rowset. This can be used in JOINs with
other tables.
Inline Function can be though of as views that take parameters and can be used in JOINs and
other Rowset operations.
Exception can be handled by try-catch block in a Procedure whereas try-catch block cannot be
used in a Function.