How to make query like this in Java and get the results:
SELECT filedata.num,st_area(ST_Difference(ST_TRANSFORM(filedata.the_geom,70066),filedata_temp.the_geom))
FROM filedata, filedata_temp
Where filedata.num=filedata_temp.num
Or, I think will be better if I create procedure in Postgres from this query.
CREATE OR REPLACE FUNCTION get_geom_difference()
RETURNS void AS
$$
BEGIN
SELECT filedata.num,st_area(ST_Difference(ST_TRANSFORM(filedata.the_geom,70066),filedata_temp.the_geom))
FROM filedata, filedata_temp
Where filedata.num=filedata_temp.num
end;
$$
LANGUAGE 'plpgsql'
and call it
Connection ce_proc= null;
ce_proc = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgis","postgres","123456");
java.sql.CallableStatement proc = ce_proc.prepareCall("{get_
Java调用PostgreSQL函数获取结果

这篇博客探讨了如何在Java中调用PostgreSQL函数并获取返回结果。作者首先展示了如何创建一个PL/pgSQL函数,然后尝试使用CallableStatement执行该函数,但遇到了错误。问题在于返回类型不匹配。解决方案是简化函数,确保函数返回类型与实际返回值相匹配,并给出了正确调用函数的示例。
最低0.47元/天 解锁文章
1004

被折叠的 条评论
为什么被折叠?



