NikFaraday
@NikFaraday
Student full-stack Developer

Как создать процедуру, которая будет возвращать что-то?

Начинаю углубляться в Sql и, соответственно, я пришёл к процедурам. Не могу понять, как с ними нормально работать. Перечитал много информации и попробовал штук 10 процедур сделать. обычных, простеньких. Но я застрял на том моменте, что я не понимаю, как они должны возвращать какой-то результат своей работы. Саму процедуру я могу выполнить, но кроме 'successful' ничего больше нет при выводе.

В интернете очень много максимально тупых статей, где нет примера вывода данных после выполнения процедуры, а есть примеры чисто по вставке значения и... И всё...

UPD: вообще нужно данные запрашивать с сервера методом вызова этих процедур. Я просто не могу понять, как они будут что-то мне возвращать при их вызове?
  • Вопрос задан
  • 129 просмотров
Решения вопроса 2
@Akina
Сетевой и системный админ, SQL-программист.
Процедуры, в отличие от функций, не возвращают значение; поэтому в CREATE PROCEDURE отсутствует предложение RETURNS. Однако процедуры могут выдавать данные в вызывающий код через выходные параметры.

https://postgrespro.ru/docs/postgresql/16/xproc (имеются в виду SQL-процедуры)

Для возврата значений из PL/pgSQL процедуры используются OUT и INOUT параметры.

https://postgrespro.ru/docs/postgresql/16/plpgsql-... (пример имеется)
Ответ написан
Комментировать
IvanU7n
@IvanU7n
если речь именно про процедуры, то никак, т.к. они по определению ничего не возвращают
если про функции, то https://www.postgresql.org/docs/current/sql-create... или дока про соответствующий язык
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker
Программист, энтузиаст
Вам нужно начать с туториала и примеров, а не с тупых статей в интернете и собственных догадок.
Просто возьмите учебник и потратьте некоторое время на изучение самых базовых основ. Если вам лень этим заниматься. то почему вы думаете, что людям тут будет не лень сочинять вам индивидуальные экспресс-курсы по изучению основ баз данных?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы