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

         

Создание скалярной функции


Оператор CREATE для скалярных пользовательских функций имеет достаточно простой синтаксис для функций всех типов:

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

Имя_функции должно удовлетворять правилам, действующим для идентификаторов. Хотя список_параметров в описании оператора CREATE занимает иное место, чем список параметров для хранимой процедуры, они имеют аналогичный синтаксис:

@имя_параметра тип_данных [= значение_по_умолчанию]

Имя_параметра должно соответствовать правилам, принятым для идентификаторов, и начинаться с символа @. Пользовательские функции могут иметь до 1024 входных параметров. Выходные параметры пользовательские функции не поддерживают – единственным значением, возвращаемым функцией, является результат ее выполнения. Заметим, что список_параметров является необязательным, но наличие скобок обязательно.

Фраза RETURNS определяет тип возвращаемых функцией значений. Скалярные функции могут возвращать любые скалярные системные типы данных, за исключением timestamp, text, ntext или image.

Операторы BEGIN...END, которыми ограничиваются операторы_tsql, составляющие тело функции, являются обязательными, даже если тело функции состоит из одного оператора RETURN.

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

  1. Нажмите кнопку New Query (Новый запрос)
    в панели инструментов анализатора запросов Query Analyzer. Query Analyzer откроет новое окно Query (Запрос).
  2. Нажмите кнопку Load Script (Загрузить сценарий)
    в панели инструментов анализатора запросов Query Analyzer. Query Analyzer отобразит диалоговое окно Open Query File (Открытие файла запроса).


  3. Перейдите к папке SQL 2000 Step by Step в корневой директории, выделите сценарий scalarFunction и нажмите кнопку Open (Открыть). Query Analyzer загрузит сценарий.


  4. Нажмите кнопку Execute Query (Выполнить запрос)
    в панели инструментов анализатора запросов Query Analyzer. Query Analyzer создаст пользовательскую функцию
  5. Раскройте папку Functions базы данных Aromatherapy в панели Object Browser и нажмите клавишу F5, чтобы обновить содержимое окна. В списке в панели Object Browser будет отображена функция dbo.scalarFunction.


    увеличить изображение

Примечание. Созданные здесь пользовательские функции мы используем в следующем разделе.



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