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.

  1. Функция должна иметь имя, а имя функции никогда не может начинаться со специального символа, такого как @, $, # и т. д.
  2. Функции работают только с операторами select.
  3. Функции можно использовать в любом месте SQL, например, AVG, COUNT, SUM, MIN, DATE и т. д. с операторами select.
  4. Функции компилируются каждый раз.
  5. Функции должны возвращать значение или результат.
  6. Функции работают только с входными параметрами.
  7. Операторы Try и catch не используются в функциях.

Типы функций SQL Server

 

SQL Server поддерживает два типа функций — пользовательские и системные.

  1. Пользовательская функция: Пользовательские функции создаются пользователем.

     

  2. Функция, определяемая системой: системные функции — это встроенные функции базы данных.

 

Прежде чем создавать и использовать функции, давайте начнем с новой таблицы.

 

Создайте таблицу в своей базе данных с некоторыми записями. Вот мой стол.

 

Пользовательские функции

 

SQL Server поддерживает два типа пользовательских функций:

  1. Табличные функции
  2. Скалярнозначные функции

Табличные функции

 

В этом типе функции мы выбираем табличные данные с помощью созданной пользователем функции. Функция создается с помощью SQL-команды Create function. Следующий запрос создает новую определяемую пользователем функцию.

  1. Создать функцию Fun_EmployeeInformation()      
  2. возвращает таблицу       
  3. как      
  4. return(выберите * из Employee  )     

 

Теперь посмотрите на вновь созданную функцию в базе данных.

 

 

Теперь получите информацию о таблице сотрудников с помощью созданной функции Fun_EmployeeInformation() с помощью оператора select.

 

 

Скалярная функция

 

Теперь мы получаем таблицу сотрудников с двумя разными данными, объединенными и отображаемыми в одной строке данных столбца. Здесь создайте функцию соединения двух столбцов, как показано ниже:

  1. создать функцию fun_JoinEmpColumnInfo
  2. (
  3.    @EmpContact nchar(15),
  4.    @EmpEmail nvarchar(50),
  5.    @EmpCity varchar(30)
  6. )
  7. возвращает nvarchar(100)
  8. как
  9. начало возврата (выберите @EmpContact+ ‘ ‘ +@EmpEmail + ‘ ‘ + @EmpCity)
  10. конец  

 

Теперь посмотрите, как создать скалярную функцию в базе данных.

 

 

Теперь созданная скалярная функция используется для отображения информации о сотруднике в одной строке данных столбца, как показано ниже:

 

 

Системная функция

 

Эта функция используется для вставки записей и является встроенной функцией системы.

 

 

Здесь приведите несколько примеров основных функций Aggregate с нашей таблицей сотрудников.

 

Эта функция работает с записями о заработной плате сотрудников.

 

Получение записи о самой высокой зарплате с помощью функции max() , как показано ниже.

 

Команда

  1. выберите максимальную (зарплату) в качестве зарплаты от сотрудника  

 

Получение самой низкой зарплаты с функция min() , как показано ниже.

 

Команда

  1. выберите мин(зарплату) в качестве зарплаты от сотрудника  

 

Подсчитайте общую зарплату с помощью функции sum() , как показано ниже.

 

Команда

  1. выберите сумму (зарплату) в качестве зарплаты от сотрудника  

 

Мы показываем базовый пример того, как использовать системную функцию. В базе данных доступно гораздо больше функций.

 

Теперь мы покажем еще один пример того, как хранить данные с помощью функции и отображать эти сохраненные данные с помощью команды печати SQL.

  1. создать функцию fun_PrintNumber()
  2. возвращает десятичное число (7,2)
  3. как
  4. начало
  5.     возврат 1000,13
  6. конец  

 

Теперь вызовите функцию и отобразите сохраненную запись с помощью команды печати.

  1. print dbo.fun_PrintNumber()  

 

Теперь еще одна математическая функция для создания сложения двух чисел.

  1. СОЗДАТЬ ФУНКЦИЮ Fun_Addition(@Num1 Decimal(7,2),
  2.                         @Num2 Decimal(7,2))
  3. ВОЗВРАТ Десятичный(7,2)
  4. Начало
  5.     DECLARE @Result Decimal(7,2)
  6.     SET @Result = @Num1 + @Num2
  7.     ВОЗВРАТ @Результат
  8. конец   

 

Теперь вызовите дополнительную функцию, как показано ниже:

  1. print dbo.Fun_Addition(12,13)  

 

Посмотрите здесь полное видео для получения дополнительной информации о функциях MS SQL, синтаксисе, советах и ​​рекомендациях.

 

 

Сводка

 

В этой статье я объяснил функции в SQL Server.