gpt4 book ai didi

java - Postgresql 从表中返回 SETOF 行

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:49 25 4
gpt4 key购买 nike

我在 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

最佳答案

对于这样一个简单的查询,最好使用 SQL 函数。与 PL/pgSQL 函数相比,它们可以被查询优化器内联和更好地优化:

CREATE OR REPLACE FUNCTION getallentree()
RETURNS SETOF entree AS
$BODY$
select * from entree ;
$BODY$
LANGUAGE sql;

如果您确实需要 PL/pgSQL 进行一些您没有向我们展示的其他处理,那么 Mureinik 关于使用返回查询 的回答是可行的方法。

关于java - Postgresql 从表中返回 SETOF 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27958526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com