gpt4 book ai didi

参数错误的postgresql调用函数

转载 作者:行者123 更新时间:2023-11-29 13:46:11 25 4
gpt4 key购买 nike

我声明了 postgresql 函数如下,这个函数简单地计算以公里为单位的两点之间的距离

CREATE OR REPLACE FUNCTION show_places(ref refcursor,lat float8,lon float8, radius double precision) RETURNS refcursor AS $$
BEGIN
OPEN ref FOR SELECT * FROM place p where ST_Distance(ST_Point(lon,lat)::geography,ST_Point(p.lon,p.lat)::geography) <= radius; -- Open a cursor
RETURN ref;
END;
$$ LANGUAGE plpgsql;

调用如下:

BEGIN;
SELECT show_places('cities_cur',44.379,-79.703,255621.82229418);
FETCH ALL IN "cities_cur";
COMMIT;

但是我遇到了这个 SQL 异常:

enter image description here

最佳答案

对于变量和表列的相同名称越来越混淆。只需更改变量的名称

CREATE OR REPLACE FUNCTION show_places(ref refcursor,v_lat float8,v_lon float8, radius double precision) RETURNS refcursor AS $$
BEGIN
OPEN ref FOR SELECT * FROM place p where ST_Distance(ST_Point(v_lon,v_lat)::geography,ST_Point(p.lon,p.lat)::geography) <= radius; -- Open a cursor
RETURN ref;
END;
$$ LANGUAGE plpgsql;

关于参数错误的postgresql调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48166674/

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