35.3. Пользовательские функции#

35.3. Пользовательские функции

35.3. Пользовательские функции #

Tantor BE предоставляет четыре типа функций:

  • функции языка запросов (функции, написанные на SQL) (Раздел 35.5)

  • процедурные языковые функции (функции, написанные, например, на PL/pgSQL или PL/Tcl) (Раздел 35.8)

  • внутренние функции (Раздел 35.9)

Каждый вид функции может принимать базовые типы, составные типы или их комбинации в качестве аргументов (параметров). Кроме того, каждый вид функции может возвращать базовый тип или составной тип. Функции также могут быть определены для возврата наборов базовых или составных значений.

Многие виды функций могут принимать или возвращать определенные псевдотипы (такие как полиморфные типы), но доступные возможности могут отличаться. Обратитесь к описанию каждого вида функции для получения более подробной информации.

Самым простым способом определить функции SQL является их описание, поэтому мы начнем с обсуждения этого. Большая часть концепций, представленных для функций SQL, будет применима и к другим типам функций.

На протяжении этой главы может быть полезно обратиться к странице справки команды CREATE FUNCTION, чтобы лучше понять примеры. Некоторые примеры из этой главы можно найти в файлах funcs.sql и funcs.c в каталоге src/tutorial исходного кода Tantor BE.