Понятие о пользовательских функциях - Применение пользовательских функций в операторах Transact-SQL

E-mail Печать PDF
Рейтинг пользователей: / 2
ХудшийЛучший 
Индекс материала
Понятие о пользовательских функциях
Скалярные функции
Табличные функции
Создание пользовательских функций
Создание скалярной функции
Применение пользовательских функций
Применение пользовательских функций в операторах Transact-SQL
Все страницы

Применение пользовательских функций в операторах Transact-SQL

Скалярные пользовательские функции могут использоваться везде, где допустимо использовать тип данных, который они возвращают. Табличные пользовательские функции могут быть использованы только во фразе FROM оператора SELECT.

Примечание. Если фраза SELECT находится внутри оператора DECLARE CURSOR, курсор должен иметь тип STATIC и READ_ONLY.

  1. Выберите вкладку Editor (Редактор) в окне Query (Запрос) и нажмите кнопку Clear Window (Очистить окно) в панели инструментов анализатора запросов Query Analyzer. Query Analyzer очистит окно Query (Запрос).
  2. Введите следующий оператор SQL в окне Query (Запрос):
3.     SELECT OilID, dbo.scalarFunction(OilName)
FROM Oils
  1. Нажмите кнопку Execute Query (Выполнить запрос) в панели инструментов анализатора запросов Query Analyzer. Query Analyzer выполнит оператор и отобразит результат.
  2. Выберите вкладку Editor (Редактор) в окне Query (Запрос) и нажмите кнопку Clear Window (Очистить окно) в панели инструментов анализатора запросов Query Analyzer. Query Analyzer очистит окно Query (Запрос).
  3. Введите следующий оператор SQL в окне Query (Запрос):
7.  SELECT * FROM tableFunction()
               
  1. Нажмите кнопку Execute Query (Выполнить запрос) в панели инструментов анализатора запросов Query Analyzer. Query Analyzer выполнит оператор и отобразит результат.

Чтобы ...

Синтаксис оператора SQL

Создать скалярную функцию

CREATE FUNCTION имя_функции([список_параметров])
RETURNS тип_данных               
AS                                           
BEGIN                    
[операторы_tsql]                    
RETURN (возвращаемое_значение)          
END

Создать подставляемую табличную функцию

CREATE FUNCTION имя_функции(список_параметров)      
RETURNS таблица                      
AS                                       
RETURN (оператор_выборки)

Создать многооператорную табличную функцию

CREATE FUNCTION имя_функции (список_параметров)
RETURNS @локальная_табличная_переменная TABLE (определение_таблицы)                 
AS                                              
BEGIN                        
операторы_tsql                    
RETURN                                        
END

Использовать скалярную функцию

имя_владельца.имя_функции([список_параметров])

Использовать функцию в операторе EXECUTE

EXECUTE @возвращаемое_значение = имя_функции(список_параметров)                       
или                                                                 
EXECUTE @возвращаемое_значение = имя_функции                                               
@параметр = значение[, @параметр = значение[,...]]

Использовать функцию в качестве вычисляемого столбца

имя_столбца AS функция                                                         
Параметры должны быть либо другими столбцами, либо константами

Использовать функцию в качестве столбца умолчания DEFAULT

Имя_столбца тип_данных = функция                                    
Параметры должны быть константами


 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий: