Как запустить функцию в sql

Аватар пользователя Roman Ashikov
Roman Ashikov
28 июля 2022

Выполнить функцию в PostreSQL так же легко как в любом языке программирования. Нюанс есть только в том каким образом передавать ей аргументы. Тут есть 3 варианта:

  1. Позиционная передача
  2. Именная передача
  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

Похожие вопросы

1
ответ
1
ответ
1
ответ