程序的实际语法

时间:2019-02-11 08:32:57

标签: sql database postgresql stored-procedures

错误:查询没有结果数据的目的地 提示:如果要放弃SELECT的结果,请改用PERFORM。上下文:PL / pgSQL函数dataret()第4行位于SQL语句SQL状态:42601

我已经在postgreSQl 11中编写了过程代码。但是在调用过程时却出现此错误。

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

我希望输出会从得分表中检索所有列,但是我遇到了这个错误。

1 个答案:

答案 0 :(得分:0)

如果要返回结果,请使用函数而不是过程。

而且您也不需要PL / pgSQL,SQL函数将更加高效:

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

然后使用:

select *
from dataret();