Использование RETURNING

Создадим таблицу для хранения информации о людях.

CREATE TABLE people
(
  user_id BIGSERIAL PRIMARY KEY,
  user_name TEXT,
  user_age INTEGER
);

Заполним таблицу записями.

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

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

INSERT INTO people (user_name, user_age) VALUES ('Maxim', 25) 
RETURNING user_id AS u1, user_name AS u2, user_age AS u3;

INSERT INTO people (user_name, user_age) VALUES ('Nina', 30) 
RETURNING user_id AS u1, user_name AS u2, user_age AS u3;

INSERT INTO people (user_name, user_age) VALUES ('George', 17) 
RETURNING user_id AS u1, user_name AS u2, user_age AS u3;

Получаем содержимое таблицы.

SELECT * FROM people ORDER BY user_id ASC;

Заменим содержимое одной записи и вернём содержимое записи после изменения (обновлённое содержимое).

Снова выведем на экран содержимое таблицы.

Возврат результата запроса с помощью хранимой процедуры

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

Записи при возврате будут отсортированы по убыванию поля user_id.

Вызываем данную хранимую процедуру.

Last updated