Friday, February 22, 2008

SP vs UDF (Stored procedures vs Functions)

1) Stored procedures are designed to return its output to the application. Functions, on the other hand, are designed to send their output to a query or T-SQL statement.

Example: If you have an operation such as a query with a FROM clause that requires a rowset be drawn from a table or set of tables, then a function will be your appropriate choice. However, when you want to use that same rowset in your application the better choice would be a stored procedure.
2) A UDF returns table variables, while a SPROC can't return a table variable although it can create a table.
Another significant difference between them is that UDFs can't change the server environment or your operating system environment, while a SPROC can.
3) Operationally, when T-SQL encounters an error the function stops, while T-SQL will ignore an error in a SPROC and proceed to the next statement in your code (provided you've included error handling support).
4) You'll also find that although a SPROC can be used in an XML FOR clause, a UDF cannot be.

5) SP is precomplied where as function is not pre compiled



more...

No comments:

All the notes to learn SQL Server. includes my learnings too..