SQL Server: Functions
Learn how to create and drop functions in SQL Server (Transact-SQL) with syntax and examples.
What is a function in SQL Server?
In SQL Server, a function is a stored program that you can pass parameters into and return a value.
Create Function
You can create your own functions in SQL Server (Transact-SQL). Let's take a closer look.
Syntax
The syntax to create a function in SQL Server (Transact-SQL) is:
CREATE FUNCTION [schema_name.]function_name ( [ @parameter [ AS ] [type_schema_name.] datatype [ = default ] [ READONLY ] , @parameter [ AS ] [type_schema_name.] datatype [ = default ] [ READONLY ] ] ) RETURNS return_datatype [ WITH { ENCRYPTION | SCHEMABINDING | RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT | EXECUTE AS Clause ] [ AS ] BEGIN [declaration_section] executable_section RETURN return_value END;
- schema_name
- The name of the schema that owns the function.
- function_name
- The name to assign to this function in SQL Server.
- @parameter
- One or more parameters passed into the function.
- type_schema_name
- The schema that owns the data type, if applicable.
- datatype
- The data type for @parameter.
- default
- The default value to assign to @parameter.
- READONLY
- It means that @parameter can not be overwritten by the function.
- return_datatype
- The datatype of the function's return value.
- ENCRYPTION
- It means that the source for the function will not be stored as plain text in the system views in SQL Server.
- SCHEMABINDING
- It means that the underlying objects can not be modified so as to affect the function.
- RETURNS NULL ON NULL INPUT
- It means that the function will return NULL if any parameters are NULL without having to execute the function.
- CALL ON NULL INPUT
- It means that the function will execute the function even if any parameters are NULL.
- EXECUTE AS clause
- Sets the security context to execute the function.
- return_value
- The value returned by the function.
Example
Let's look at an example of how to create a function in SQL Server (Transact-SQL).
The following is a simple example of a function:
CREATE FUNCTION ReturnSite ( @site_id INT ) RETURNS VARCHAR(50) AS BEGIN DECLARE @site_name VARCHAR(50); IF @site_id < 10 SET @site_name = 'TechOnTheNet.com'; ELSE SET @site_name = 'CheckYourMath.com'; RETURN @site_name; END;
This function is called ReturnSite. It has one parameter called @site_id which is an INT datatype. The function returns a VARCHAR(50) value, as specified by the RETURNS clause.
You could then reference the new function called ReturnSite as follows:
USE [test] GO SELECT dbo.ReturnSite(8); GO
Drop Function
Once you have created your function in SQL Server (Transact-SQL), you might find that you need to remove it from the database.
Syntax
The syntax to a drop a function in SQL Server (Transact-SQL) is:
DROP FUNCTION function_name;
- function_name
- The name of the function that you wish to drop.
Example
Let's look at an example of how to drop a function in SQL Server.
For example:
DROP FUNCTION ReturnSite;
This DROP FUNCTION example would drop the function called ReturnSite.
No comments:
Post a Comment