Functions SQL Server

В этом учебном пособии вы узнаете, как создавать и удалять функции в SQL Server (Transact-SQL) с помощью синтаксиса и примеров.

Описание

В SQL Server функция представляет собой хранимую программу, в которую вы можете передавать параметры и возвращать значение.

Create Function

Вы можете создавать свои собственные функции в SQL Server (Transact-SQL). Давайте рассмотрим подробнее.

Синтаксис

Синтаксис Functions в SQL Server (Transact-SQL):

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 - имя схемы, которой принадлежит эта функция.
function_name - наименование функции в SQL Server.
@parameter - один или несколько параметров, которые передаются в функцию.
type_schema_name - схема, которая владеет типом данных, если это применимо.
datatype - тип данных для @parameter.
default - значение по умолчанию для назначения параметру @parameter.
READONLY - это означает, что @parameter не может быть перезаписана функцией.
return_datatype - тип данных возвращаемого значения функции.
ENCRYPTION - это означает, что источник для функции не будет сохранен как обычный текст в системных представлениях SQL Server.
SCHEMABINDING - это означает, что базовые объекты не могут быть изменены, чтобы влиять на функцию.
RETURNS NULL ON NULL INPUT - это означает, что функция вернет NULL, если любые параметры имеют значение NULL, без необходимости выполнять функцию.
CALL ON NULL INPUT - это означает, что функция будет выполняться, даже если любые параметры имеют NULL.
EXECUTE AS - устанавливает контекст безопасности для выполнения функции.
return_value - значение, возвращаемое функцией.

Пример

Рассмотрим пример создания функции в SQL Server (Transact-SQL).
Ниже приведен простой пример функции:

Эта функция называется ReturnSite. Она имеет один параметр, называемый @site_id, который является типом данных INT. Функция возвращает значение VARCHAR (50), указанное в предложении RETURNS.
Затем вы можете ссылаться на новую функцию ReturnSite следующим образом:

Drop Function

После того, как вы создали свою функцию в SQL Server (Transact-SQL), вам может понадобиться удалить ее из базы данных.

Синтаксис

Синтаксис удаелния функции в SQL Server (Transact-SQL):

DROP FUNCTION function_name;

function_name - имя функции, которую вы хотите удалить.

Пример

Рассмотрим пример того, как удалить функцию в SQL Server.
Например:

Этот пример DROP FUNCTION удалит функцию ReturnSite.