首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用postgis st_dimension()函数时出错

使用postgis st_dimension()函数时出错
EN

Stack Overflow用户
提问于 2013-10-13 13:50:08
回答 1查看 193关注 0票数 0

我正在使用navicat函数生成器来构建一个新的简单函数:

代码语言:javascript
复制
SELECT st_dimension(geometry)
FROM nature

我想利用POSTGIS st_dimension函数的结果,使用表性质和包含几何图形的列几何学作为多多边形。

返回类型模式为pg_catalog,返回类型为int4。

这是SQL预览:

代码语言:javascript
复制
  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...^

我对上面的功能做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-13 23:24:56

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19345955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档