Java Postgres错误:列定义列表仅允许用于返回“0”的函数;“记录”;
您的错误如下:Java Postgres错误:列定义列表仅允许用于返回“0”的函数;“记录”;,java,sql,postgresql,plpgsql,Java,Sql,Postgresql,Plpgsql,您的错误如下: CREATE OR REPLACE FUNCTION multiple_mineral_report(b integer) RETURNS character varying AS $BODY$ declare k varchar := ''; sql_res record; begin for sql_res in execute 'select mineral_name from application_mineral as am inner join
CREATE OR REPLACE FUNCTION multiple_mineral_report(b integer)
RETURNS character varying AS
$BODY$
declare
k varchar := '';
sql_res record;
begin
for sql_res in execute 'select mineral_name from application_mineral as am inner join mineral as m on(am.mineral=m.mineral_id) where am.application_id = '||$1||'' loop
k = k || sql_res.mineral_name || ', ';
end loop;
return k;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION multiple_mineral_report(integer) OWNER TO postgres;
删除粗体部分,此特定错误将消失。但实际上,由于函数只返回一个值,因此您希望按如下方式调用函数:
RETURNS character varying
S应添加更多信息:从您使用的语言开始。好的,我已根据您的要求进行了编辑。请向我们展示
多个矿产报告的创建函数语句
谢谢您的建议,这对我很有帮助
PreparedStatement query =getCon().prepareStatement(
"select * from multiple_mineral_report(?) as types(val1 varchar)"
,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
RETURNS character varying
SELECT multiple_mineral_report(?)