Фактический синтаксис для процедуры - PullRequest
0 голосов
/ 11 февраля 2019

ОШИБКА: у запроса нет места назначения для данных результата. СОВЕТ: Если вы хотите отменить результаты SELECT, используйте вместо этого PERFORM.КОНТЕКСТ: строка данных функции PL / pgSQL () строка 4 в операторе SQL Состояние SQL: 42601

Я написал код процедуры в postgreSQl 11. Но при вызове процедуры она выдает эту ошибку ..

create or replace procedure dataret()
language plpgsql
as $$
declare
begin
select * from public.score;
end $$;

Я ожидаю, что выходные данные получат все столбцы из таблицы результатов, но я получаю эту ошибку.

1 Ответ

0 голосов
/ 11 февраля 2019

Если вы хотите вернуть результат, используйте функцию, а не процедуру.

И для этого вам также не нужен PL / pgSQL, функция SQL будет гораздо более эффективной:

create or replace function dataret()
  returns setof public.score
  language sql
as $$
select * from public.score;
$$;

Тогда используйте:

select *
from dataret();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...