Return of value
Always returns a value.
May or may not return a value.
Function performs a specific task.
A procedure may perform multiple tasks.
Calling from SQL statements
Such calling is possible for functions.
Such calling isn’t feasible for procedures.
Functions are typically used to perform computations.
Procedures are used to execute business logic.
A function doesn’t execute independently. It has to be a part of the executable statement.
A procedure itself represents an executable statement, so it can run independently.