Функции
По поведению различают детерминированные и недетерминированные функции.
Все пользовательские функции всегда недетерминированные
По типу возвращаемого значения функции делятся:
Скалярная функция:
Скалярные пользовательские функции обычно используются в списке столбцов инструкции SELECT и в предложении WHERE.
Синтаксис:
CREATE FUNCTION [имя-схемы.]имя-фукнции([список-объявлений-параметров])
RETURNS скалярный-тип-данных
[ WITH список-опций-функций]
[AS]
BEGIN
тело-функции
RETURN скалярное-выражение
END [;]
Синтаксис вызова:
[имя-схемы.]имя-функции([список-параметров])[;]
Подставляемая табличная функция
Тело подставляемой табличной функции фактически состоит из единственной инструкции SELECT.
Синтаксис создания:
CREATE FUNCTION [ имя-схемы. ] имя-функции ( [ список-объявлений-параметров ] )
RETURNS TABLE
[ WITH список-опций-функций ]
[ AS ]
RETURN [ ( ] выражение-выборки [ ) ]
END [ ; ]