[英]Postgresql plpgsql function syntax error
我想創建一個返回一組記錄的函數,但是出現語法錯誤。 該查詢正在運行,但是當我將其嵌入到函數中時出現錯誤。 如何退還該套票?
錯誤
錯誤:“選擇”或附近的語法錯誤
第27行:選擇id,user_id,project_id,record_date,parselid,pars ...
________ ^
**********錯誤**********
錯誤:“選擇”或附近的語法錯誤
SQL狀態:42601
角色:832
功能碼
CREATE OR REPLACE FUNCTION getloggeom(
IN p_lat double precision,
IN p_lng double precision,
OUT id integer,
OUT user_id bigint,
OUT project_id bigint,
OUT record_date timestamp without time zone,
OUT parselid integer,
OUT parselno character varying,
OUT adano character varying,
OUT ilid integer,
OUT ilad character varying,
OUT ilceid integer,
OUT ilcead character varying,
OUT mahallead character varying,
OUT mahalleid integer,
OUT pafta character varying,
OUT nitelik character varying,
OUT mevkii character varying,
OUT yuzolcum character varying,
OUT alan double precision,
OUT lat double precision,
OUT lng double precision,
OUT feature json)
RETURNS SETOF record AS
$BODY$
select id, user_id, project_id, record_date, parselid, parselno, adano, ilid, ilad, ilceid, ilcead, mahallead, mahalleid, pafta, nitelik, mevkii, yuzolcum, alan, st_x(st_centroid(st_transform(geom,4326))) as lng, st_y(st_centroid(st_transform(geom,4326))) as lat, (SELECT row_to_json(fc) as data
FROM ( SELECT 'FeatureCollection' As type, array_to_json(array_agg(f)) as features
FROM ( SELECT 'Feature' as type
, ST_AsGeoJSON(st_transform(ST_MakeValid(geom),4326))::json as geometry
, row_to_json(( parselid, ilad, ilcead, mahallead, adano, parselno, yuzolcum, st_y(st_centroid(st_transform(geom,4326))), st_x(st_centroid(st_transform(geom,4326))))) As properties
FROM log_geom where st_intersects((st_transform(st_setsrid(st_point(p_lng, p_lat), 4326), 500000)),geom ) limit 1)as f ) as fc) as feature from log_geom where
ST_Intersects(
st_transform(st_setsrid(st_point(p_lng, p_lat), 4326), 500000),geom
)limit 1;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 1000
ROWS 1000;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.