我在dbms(postgresql)中有这个存储过程
CREATE OR REPLACE FUNCTION getallentree()
RETURNS SETOF entree AS
$BODY$
begin
select * from entree ;
end;
$BODY$
LANGUAGE plpgsql
调用此过程后:
select * from getAllEntree();
我收到这个错误:
ERROR: query has no destination for result data
HINT: If you want to discard the results of a SELECT, use PERFORM instead.
CONTEXT: PL/pgSQL function getallentree() line 3 at SQL statement
**********Error**********
ERROR: query has no destination for result data
SQL state: 42601
Hint: If you want to discard the results of a SELECT, use PERFORM instead.
Context: PL/pgSQL function getallentree() line 3 at SQL statement
2条答案
按热度按时间ebdffaop1#
对于这样一个简单的查询,最好使用sql函数。与pl/pgsql函数相比,查询优化器可以内联并更好地优化它们:
如果您确实需要pl/pgsql来进行其他一些您没有向我们展示的处理,那么mureinik关于使用
return query
是一条路要走。nxagd54h2#
你只需要加上
return query
给你的select
声明: