TGViewer
Аналитика данных / Data Study Аналитика данных / Data Study @data_study · 9.47K subscribers
Post #1025 3.77K
Функции и Хранимые процедуры SQL

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

🔎 Хранимая процедура включает в себя набор инструкций SQL, который сохранен под определенным именем и выполняется как единая операция. Хранимые процедуры могут принимать входные параметры, выполнять комплексные операции, включать логику управления потоком (например, условные конструкции IF и циклы LOOP), выполнять операции DML (create, insert, delete).

✏️ Сравнение функций и хранимых процедур:
1. Возвращаемые значения:
- Функции: Всегда возвращают значение. Функция может возвращать одно значение (скалярное) или набор строк (таблицу). Возвращаемый тип данных должен быть указан при определении функции.
- Хранимые процедуры: Не обязательно возвращают значения. В PostgreSQL, процедуры могут возвращать результат через выходные параметры (OUT), но они могут также быть использованы для выполнения операций без возвращения данных.

2. Вызов:
- Функции: Могут вызываться внутри SELECT запросов, либо вызываться как результат самого запроса, например SELECT название_функции()
- Хранимые процедуры: Вызов хранимой процедуры выполняется командой CALL название_процедуры()

3. Транзакции:
- Функции: Обычно выполняются внутри транзакции вызывающего запроса и не могут управлять транзакциями самостоятельно (не могут выполнять команды COMMIT и ROLLBACK).
- Хранимые процедуры: Могут включать команды управления транзакциями. Это позволяет процедурам выполнять несколько транзакций в рамках одного вызова.

4. Использование:
- Функции: часто используются в запросах SQL как часть выражения в SELECT, WHERE или JOIN и для вычислений, которые требуют возвращения результата.
- Хранимые процедуры: чаще используются для выполнения набора действий, которые могут включать несколько разных SQL операций, включая изменение схемы, обновление данных, управление пользователями и т. д.

Статьи на эту тему:
📍 Функции и хранимые процедуры в SQL: зачем нужны и как применять в реальных примерах
📍Документация функций PostgreSQL
📍Документация процедур PostgreSQL
📍Stored Procedure vs Function in PostgreSQL
  • 👍 12
  • 🔥 7
  • ❤ 3
More from @data_study
  1. Sep 27, 2026Post #1504
  2. Sep 26, 2026AI ассистентов много не бывает... Установил себе в VS Code еще один плагин SourceCraft, эт…
  3. Sep 24, 2026Поставил себе цель закрывать кружок активности каждый день Листая статистику в приложении…
  4. Sep 23, 2026Давно Маркизы не было в ленте, уверен вы соскучились по шоколадной булке ♥️ P.S. вы ей тож…
  5. Sep 22, 2026Задумываетесь ли вы, что AI-агенты уже сейчас сами принимают решения в физическом мире? И…
  6. Sep 21, 2026Команда DevCrowd запустила ежегодное исследование специалистов по работе с данными. В этом…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →