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

Добрый день.

есть пара таблиц:

CREATE TABLE users (id serial PRIMARY KEY, name varchar(64));
CREATE TABLE user_devices(id serial, user_id bigint REFERENCES users, device_description text);

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

Кроме таблицы необходимо вернуть код возврата - 0, если все хорошо, 1 - если пользователя не существует.

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

Можно ли это сделать в Postresql? Если да, то как?

Спасибо.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

В PostgreSQL это делается

В PostgreSQL это делается точно также с помощью хранимой процедуры. Просто хранимые процедуры в PostgreSQL называются функциями. Читайте документацию, там всё подробно и даже с примерами:
http://postgresql.ru.net/manual/server-programming.html
http://postgresql.ru.net/manual/plpgsql.html

В принципе, получилось.

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

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023