PostgreSql. Функция возвращающая таблицу.

При усложнении запросов, часто приходиться использовать функции, возращающие необходимый набор строк, в зависимости от введеных параметров. Рассмотрим данную возможность более подробно.

Создадим функцию, и вызовем его, в указанном примере: 

Здесь мы создадим функцию, на языке plpgsql, который поддерживается реляционной базой данных под управление Postgresql. Вызовем в ней хранимую функцию, генерирующая множество строк, с параметрами:

_id INT4 - параметр указывающий, до какого числа, будем генерировать множество значений.

Результат:

 generate_id
4
5
6
7
8
9
10

 В итоге, мы получили хранимую процедуру, возвращающие различный набор строк, в зависимости от введенных параметров. С данной функцией, можно обращаться как с обычной таблицой. Ее джойнить, аггрегировать по заданным полям и т.п.

Очень удобная фича, когда нужно абстрагировать бизнес-логику при написании запросов.

Если вам помогла статья, пожалуйста перейдите по одному из рекламных блоков, расположенных на сайте. Таким образом вы поддержите проект. Спасибо

© Krenar 2020. All right reserved.