Программирование в Microsoft SQL Server 2000

         

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


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

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

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

  1. Нажмите кнопку New Query (Новый запрос)
    в панели инструментов анализатора запросов Query Analyzer. Query Analyzer откроет новое окно Query (Запрос).
  2. Введите следующий оператор SQL в окне Query (Запрос):

    PRINT dbo.scalarFunction('German Chamomile')

  3. Нажмите кнопку Execute Query (Выполнить запрос)
    в панели инструментов анализатора запросов Query Analyzer. Query Analyzer выполнит оператор и отобразит результат.


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

  1. Выберите вкладку Editor (Редактор) в окне Query (Запрос) и нажмите кнопку Clear Window (Очистить окно)
    в панели инструментов анализатора запросов Query Analyzer. Query Analyzer очистит окно Query (Запрос).
  2. Введите следующий оператор SQL в окне Query (Запрос):

    SELECT OilID, dbo.scalarFunction(OilName) FROM Oils

  3. Нажмите кнопку Execute Query (Выполнить запрос)
    в панели инструментов анализатора запросов Query Analyzer. Query Analyzer выполнит оператор и отобразит результат.


Используйте табличную функцию в операторе SELECT

  1. Выберите вкладку Editor (Редактор) в окне Query (Запрос) и нажмите кнопку Clear Window (Очистить окно)
    в панели инструментов анализатора запросов Query Analyzer. Query Analyzer очистит окно Query (Запрос).
  2. Введите следующий оператор SQL в окне Query (Запрос):

    SELECT * FROM tableFunction()

  3. Нажмите кнопку Execute Query (Выполнить запрос)
    в панели инструментов анализатора запросов Query Analyzer. Query Analyzer выполнит оператор и отобразит результат.


  4. Закройте окно Query (Запрос), отказавшись от сохранения изменений при появлении окна-запроса.



Содержание раздела