我正在使用navicat函数生成器来构建一个新的简单函数:
SELECT st_dimension(geometry)
FROM nature我想利用POSTGIS st_dimension函数的结果,使用表性质和包含几何图形的列几何学作为多多边形。
返回类型模式为pg_catalog,返回类型为int4。
这是SQL预览:
CREATE FUNCTION "public"."NewProc"(IN "public"."geometry")
RETURNS "pg_catalog"."int4" AS $BODY$SELECT st_dimension(geometry)
FROM nature$BODY$
LANGUAGE 'plpgsql' VOLATILE;当我试图保存它时,获取以下错误:
错误:语法错误在“选择”LINE2:返回"pg_catalog"."int4“作为$BODY$SELECT.^
我试着用参数st_dimension()对函数nature.geometry ()中的构建做同样的操作,但是我得到了错误:
过程执行失败错误:表"natura“第1行缺少-子句项:."public"."st_dimension(""public"".""geometry"")"(natura.geo...^
我对上面的功能做错了什么?
发布于 2013-10-13 23:24:56
语言应该是'sql',而不是'plpgsql'。不清楚为什么函数没有使用IN参数。此外,如果nature.geometry有一个混合维数,那么它返回一个随机行的结果,因为没有ORDER BY子句。
https://stackoverflow.com/questions/19345955
复制相似问题