This article is half-done without your Comment! *** Please share your thoughts via Comment ***
Prepared by Bihag Thaker
Prefix the User Defined Function Name with ‘udf_’.
Try to include only letters in identifiers by using Pascal Casing and avoid the use of special characters in identifiers. Underscore (_) character may be used for element separation in an identifier.
Here element means Application Prefix, type of Operation, Table Name or Entity Name etc. However, word separation in single element should be achieved with PascalCasing only.
Use proper, meaningful and self-explanatory identifiers for user defined functions. Following naming convention should be used for stored functions:
‘udf_’ +
+ ‘_’ + +
Here,
part can be optional. can be a verb like ‘Get’, ‘Check’, ‘Validate’ or ‘Return’ and so on. Some of the examples are:
12 udf_Person_ValidateEmailAddress()udf_HR_CalculateNetSalary()
Use schemas to separate different sets of user defined functions across multiple applications when possible. For example, if schema Person is used instead of prefix ‘Person_’ and schema HR is used instead of prefix ‘HR_’, then above user defined functions should be as follows:
12 [Person].[udf_ValidateEmailAddress]()[HR].[udf_CalculateNetSalary]()
Do not create Scalar-Valued Function extensively. Avoid use of Scalar-Valued Functions in queries as much as possible because they degrade the performance of the queries.
Do not create Scalar-Valued Function just for the purpose of code reusability. If same functionality can be achieved with some inline calculation, then avoid functions. Code Reusability should not come at application’s performance cost.
Do not create Multiline Table-Valued Function as they tend to degrade the performance of the queries. If the same functionality can be achieved with Inline Table-valued Function, then avoid using Multiline Table-valued Function.
While creating stored procedures, specify the name of the schema explicitly within which the stored procedure is to be created even if it is dbo.
Following is the sample template of User Defined Function. It has been provided here only to have a basic idea of coding structure and standards that a stored procedure should follow:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
CREATE FUNCTION [dbo].[udf_FunctionName] ( @Param1 INT ,@Param2 INT ,@Param3 VARCHAR(50) ) RETURNS BIT AS /* **********************Creation Details********************** Stored Procedure Name : udf_FunctionName Purpose : Calculates and returns the value. Author : Author Name Created On : 2017/01/01 *****************************Revision Details***************************** Project/ Revision No. Changed On Changed By Change Description ------------ ---------- ---------- ------------------ 1234 2018/01/01 Mr. ABC Changed the calculation part. 1235 2018/02/08 Mr. XYZ Revert the previous change. */ BEGIN --Function Body goes here. RETURN (0) END |
Leave a Reply