Following are some major differences between a stored procedure and user defined functions:-
You can not change any data using UDF while you can do everything with a stored procedure.
UDF cannot be used in XML FOR clause but SP’s can be used.
UDF does not return output parameters while SP’s return output parameters.
If there is an error in UDF its stops executing. But in SP’s it just ignores the error and moves to the next statement.
UDF cannot make permanent changes to server environments while SP’s can change some of the server environment.