Как запустить функцию в sql
Ответы
Roman Ashikov
28 июля 2022
Выполнить функцию в PostreSQL так же легко как в любом языке программирования. Нюанс есть только в том каким образом передавать ей аргументы. Тут есть 3 варианта:
- Позиционная передача
- Именная передача
- Смешанная передача
Рассмотрим эти 3 варианта на примере функции concat_lower_or_upper()
сигнатура у неё определена следующим образом:
CREATE FUNCTION concat_lower_or_upper(a text, b text,
uppercase boolean DEFAULT false)
RETURNS text
...
Тело функции сейчас опустим. Нам главное какие аргументы она принимает. Как видите у аргументов есть имя, тип и у последнего еще и значение по умолчанию. Далее я приведу примеры со всеми тремя вариантами вызова этой функции.
-- Позиционная передача
SELECT concat_lower_or_upper('Hello', 'Hexlet', true);
-- Именная передача
SELECT concat_lower_or_upper(a => 'Hello', b => 'Hexlet');
-- Смешанная передача
SELECT concat_lower_or_upper('Hello', 'Hexlet', uppercase => true);
0
0