Создай процедуру и сделай из неё SELECT.

Нужно уточнить СУБД: процедура не везде может быть источником SELECT. В PostgreSQL для табличного результата используют функцию RETURNS TABLE, а процедуру вызывают через CALL.

Короткий ответ

Что ответить на собеседовании

Нужно уточнить СУБД: процедура не везде может быть источником SELECT. В PostgreSQL для табличного результата используют функцию RETURNS TABLE, а процедуру вызывают через CALL.

Подробный разбор

Ответ с пояснениями

Нужно уточнить СУБД: процедура не везде может быть источником SELECT. В PostgreSQL для табличного результата используют функцию RETURNS TABLE, а процедуру вызывают через CALL.

Пример именно для PostgreSQL:

CREATE FUNCTION sample_rows()
RETURNS TABLE (id integer, name text)
LANGUAGE sql
AS $$
  SELECT 1, 'Пример'::text;
$$;

SELECT * FROM sample_rows();

Это функция, не процедура. Если требование строго о CREATE PROCEDURE, нужен контракт получения результата: OUT-параметры, курсор или другой механизм выбранной СУБД. Подменять CALL конструкцией SELECT без учёта диалекта нельзя.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее