Ms sql create function: CREATE FUNCTION (Transact-SQL) — SQL Server
Содержание
Синтаксис функции создания T-SQL и пример
Что такое функция SQL Server?
Функция T-SQL в базе данных SQL Server представляет собой определяемый пользователем объект, который содержит одну или несколько инструкций SQL для выполнения определенных операций.
Функция SQL Server принимает входные параметры, выполняет операции и возвращает результат этой операции в виде значения.
Определяемую пользователем функцию SQL Server можно легко интегрировать при разработке различных приложений или проектировании базы данных.
Он имеет множество приложений и помогает программистам решать сложные задачи.
Какова цель функции SQL Server?
Пользовательская функция SQL Server (функция Transact-SQL) полезна, когда вы хотите сохранить одну или несколько инструкций sql в одном блоке, чтобы эту функцию можно было использовать повторно.
Типы функций
Скалярные функции
. Пользовательские скалярные функции возвращают одно значение данных.
Тип возвращаемого значения может быть любым типом данных (наиболее часто используемые: числовой, дата и время, строка), кроме текста, ntext, изображения, курсора и метки времени.
Табличные функции
. Пользовательские функции с табличным значением возвращают табличный тип данных.
Как создать функцию с помощью T-SQL?
Для создания функции в SQL Server с T-SQL используется следующий синтаксис:
СОЗДАТЬ ИЛИ ИЗМЕНИТЬ ФУНКЦИЮ имя_функции (параметры)
ВОЗВРАТ data_type КАК
НАЧАЛО
SQL_операторов
ВОЗВРАТ return_value
КОНЕЦ
ГО
имя_функции – это имя функции в приведенном выше синтаксисе.
Вводные параметры указаны в круглых скобках. Он также имеет типы данных.
Data_type – это тип данных значения, которое возвращает функция.
SQL_statements — оператор выбора, определенный пользователем.
Return_value – это значение, которое вернет функция.
Функция создания возвращает одиночное значение
В приведенном ниже примере показано, как создать функцию в базе данных SQL Server с помощью языка T-SQL.
Созданная функция имеет скалярный тип, используется ключевое слово CREATE FUNCTION
, функция содержит параметр типа int
и возвращает одно значение, возвращаемый тип — деньги.
СОЗДАТЬ ФУНКЦИЮ CtrAmount ( @Ctr_Id int(10))
ВОЗВРАЩАЕТ ДЕНЬГИ
КАК
НАЧАТЬ
ЗАЯВИТЬ @CtrPrice ДЕНЬГИ
SELECT @CtrPrice = SUM(сумма)
ОТ контрактов
ГДЕ contract_id = @Ctr_Id
ВОЗВРАТ(@CtrPrice)
КОНЕЦ
ГО
ВЫБРАТЬ * ИЗ CtrAmount(345)
ГО
Создать таблицу возврата функции
В приведенном ниже примере показано, как создать функцию с табличным значением в SQL Server.
Используется ключевое слово CREATE FUNCTION
, функция содержит параметр типа int и возвращает таблица
тип данных.
CREATE FUNCTION имя_функции (@PRODUCT_ID Int)
RETURNS Таблица @ProductsList
(Product_Id Int,
Product_Dsp nvarchar(150),
Product_Price Money )
КАК
НАЧАТЬ
ЕСЛИ @PRODUCT_ID IS NULL
НАЧАТЬ
ВСТАВИТЬ В @ProductsList (Product_Id, Product_Dsp, Product_Price)
ВЫБЕРИТЕ Product_Id, Product_Dsp, Product_Price
ИЗ продуктов
КОНЕЦ
ИНАЧЕ
НАЧАТЬ
ВСТАВИТЬ В @ProductsList (Product_Id, Product_Dsp, Product_Price)
ВЫБЕРИТЕ Product_Id, Product_Dsp, Product_Price
ИЗ продуктов
ГДЕ Product_Id = @PRODUCT_ID
КОНЕЦ
ВОЗВРАТ
КОНЕЦ
ГО
Функции в SQL Server
Введение
В этой статье мы узнаем о функциях SQL Server на примерах.
Функции SQL Server
Функции SQL Server — это полезные объекты в базах данных SQL Server. Функция SQL Server — это фрагмент кода, который может выполняться на SQL Server. В этой статье я объясню, как создать и использовать функцию в SQL Server.
В T-SQL функция считается объектом. Вот некоторые правила создания функций в SQL Server.
- Функция должна иметь имя, а имя функции никогда не может начинаться со специального символа, такого как @, $, # и т. д.
- Функции работают только с операторами select.
- Функции можно использовать в любом месте SQL, например, AVG, COUNT, SUM, MIN, DATE и т. д. с операторами select.
- Функции компилируются каждый раз.
- Функции должны возвращать значение или результат.
- Функции работают только с входными параметрами.
- Операторы Try и catch не используются в функциях.
Типы функций SQL Server
SQL Server поддерживает два типа функций — пользовательские и системные.
- Пользовательская функция: Пользовательские функции создаются пользователем.
- Функция, определяемая системой: системные функции — это встроенные функции базы данных.
Прежде чем создавать и использовать функции, давайте начнем с новой таблицы.
Создайте таблицу в своей базе данных с некоторыми записями. Вот мой стол.
Пользовательские функции
SQL Server поддерживает два типа пользовательских функций:
- Табличные функции
- Скалярнозначные функции
Табличные функции
В этом типе функции мы выбираем табличные данные с помощью созданной пользователем функции. Функция создается с помощью SQL-команды Create function. Следующий запрос создает новую определяемую пользователем функцию.
- Создать функцию Fun_EmployeeInformation()
- возвращает таблицу
- как
- return(выберите * из Employee )
Теперь посмотрите на вновь созданную функцию в базе данных.
Теперь получите информацию о таблице сотрудников с помощью созданной функции Fun_EmployeeInformation() с помощью оператора select.
Скалярная функция
Теперь мы получаем таблицу сотрудников с двумя разными данными, объединенными и отображаемыми в одной строке данных столбца. Здесь создайте функцию соединения двух столбцов, как показано ниже:
- создать функцию fun_JoinEmpColumnInfo
- (
- @EmpContact nchar(15),
- @EmpEmail nvarchar(50),
- @EmpCity varchar(30)
- )
- возвращает nvarchar(100)
- как
- начало возврата (выберите @EmpContact+ ‘ ‘ +@EmpEmail + ‘ ‘ + @EmpCity)
- конец
Теперь посмотрите, как создать скалярную функцию в базе данных.
Теперь созданная скалярная функция используется для отображения информации о сотруднике в одной строке данных столбца, как показано ниже:
Системная функция
Эта функция используется для вставки записей и является встроенной функцией системы.
Здесь приведите несколько примеров основных функций Aggregate с нашей таблицей сотрудников.
Эта функция работает с записями о заработной плате сотрудников.
Получение записи о самой высокой зарплате с помощью функции max() , как показано ниже.
Команда
- выберите максимальную (зарплату) в качестве зарплаты от сотрудника
Получение самой низкой зарплаты с функция min() , как показано ниже.
Команда
- выберите мин(зарплату) в качестве зарплаты от сотрудника
Подсчитайте общую зарплату с помощью функции sum() , как показано ниже.
Команда
- выберите сумму (зарплату) в качестве зарплаты от сотрудника
Мы показываем базовый пример того, как использовать системную функцию. В базе данных доступно гораздо больше функций.
Теперь мы покажем еще один пример того, как хранить данные с помощью функции и отображать эти сохраненные данные с помощью команды печати SQL.
- создать функцию fun_PrintNumber()
- возвращает десятичное число (7,2)
- как
- начало
- возврат 1000,13
- конец
Теперь вызовите функцию и отобразите сохраненную запись с помощью команды печати.
- print dbo.fun_PrintNumber()
Теперь еще одна математическая функция для создания сложения двух чисел.
- СОЗДАТЬ ФУНКЦИЮ Fun_Addition(@Num1 Decimal(7,2),
- @Num2 Decimal(7,2))
- ВОЗВРАТ Десятичный(7,2)
- Начало
- DECLARE @Result Decimal(7,2)
- SET @Result = @Num1 + @Num2
- ВОЗВРАТ @Результат
- конец
Теперь вызовите дополнительную функцию, как показано ниже:
- print dbo.Fun_Addition(12,13)
Посмотрите здесь полное видео для получения дополнительной информации о функциях MS SQL, синтаксисе, советах и рекомендациях.
Сводка
В этой статье я объяснил функции в SQL Server.