13. Объекты базы данных: функции, процедуры, триггеры и курсоры

Функции

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

Все пользовательские функции всегда недетерминированные

По типу возвращаемого значения функции делятся:

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

Скалярные пользовательские функции обычно используются в списке столбцов инструкции SELECT и в предложении WHERE.

Синтаксис:

CREATE FUNCTION [имя-схемы.]имя-фукнции([список-объявлений-параметров])
RETURNS скалярный-тип-данных 
[ WITH список-опций-функций]
[AS]
BEGIN
	тело-функции
	RETURN скалярное-выражение
END [;]

Синтаксис вызова:

[имя-схемы.]имя-функции([список-параметров])[;]

Подставляемая табличная функция

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

Синтаксис создания:

CREATE FUNCTION [ имя-схемы. ] имя-функции ( [ список-объявлений-параметров ] )
RETURNS TABLE
[ WITH список-опций-функций ]
[ AS ]
RETURN [ ( ] выражение-выборки [ ) ]
END [ ; ]