使用 postgis st_dimension() 函数时出错



我正在使用 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;

当我尝试保存它时,会出现此错误:

错误

:"选择"处或附近出现语法错误第 2 行:返回"pg_catalog"。int4" 作为 $BODY$选择... ^

我尝试对它具有的内置函数 st_dimension() 执行相同的操作,参数 nature.geometry,但我收到错误:

过程执行失败错误:缺少表"natura"的 FROM 子句条目第 1 行:..."公共"。st_dimension("公共"."几何")"(自然地理... ^

我对上述功能做错了什么?

语言应该是'sql',而不是'plpgsql'。目前尚不清楚为什么函数未使用IN参数。此外,如果nature.geometry具有混合维度,则返回随机行的结果,因为没有ORDER BY子句。

相关内容

  • 没有找到相关文章

最新更新