Хранимые функции — различия между версиями
Natallem (обсуждение | вклад) (Добавление статьи по теме "Хранимые функции" для курса "Базы данных".) |
Dmitriy (обсуждение | вклад) м (Добавил отличия в оглавление, чтобы сделать ссылку) |
||
Строка 3: | Строка 3: | ||
'''Хранимая функция''' — фрагмент кода, хранящийся в БД, при исполнении которого может возвращаться как скалярное значение, так и таблицы.}} | '''Хранимая функция''' — фрагмент кода, хранящийся в БД, при исполнении которого может возвращаться как скалярное значение, так и таблицы.}} | ||
− | + | == Отличие от хранимых процедур == | |
− | + | *Возврат скалярного значения | |
− | + | *Использование в выражениях | |
== Создание == | == Создание == |
Версия 03:05, 20 декабря 2021
Определение: |
Хранимая функция — фрагмент кода, хранящийся в БД, при исполнении которого может возвращаться как скалярное значение, так и таблицы. |
Содержание
Отличие от хранимых процедур
- Возврат скалярного значения
- Использование в выражениях
Создание
Синтаксис
При создании хранимой функции есть те же параметры, что и у хранимой процедуры, но в отличие от последней, нужно указать возвращаемый тип.
create [aggregate] function имя(параметры) returns тип тело
В теле функции можем указывать оператор return, который приводит к возврату значения. Если в теле функции не будет оператора return, то считается, что данная функция возвращает null.
Пример
create function add(a int, b int) returns int return a + b;
Особенности
- Обращение к таблицам. Многие СУБД запрещают в функции обращаться к таблицам.
- Возвращаемые значения.
- Поддержка встроенных типов есть всегда
- Реже есть поддержка пользовательского типа или таблицы в качестве возвращаемого значения.
Литература
- Дейт К. Введение в системы баз данных (главы 4 и 17)
- Уидом Д., Ульман Д. Основы реляционных баз данных (раздел 7.4)
- Gulutzan P., Pelzer T. SQL-99 complete, really