首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Assign_vertex_id函数

Assign_vertex_id函数
EN

Stack Overflow用户
提问于 2012-09-09 02:10:11
回答 2查看 593关注 0票数 1

当我执行以下查询时;

代码语言:javascript
复制
SELECT Assign_vertex_id('ways', 0.00001, 'the_geom', 'gid')

我得到了以下错误;

代码语言:javascript
复制
NOTICE:  CREATE TABLE will create implicit sequence "vertices_tmp_id_seq" for serial column "vertices_tmp.id"
    CONTEXT:  SQL statement "CREATE TABLE vertices_tmp (id serial)"
    PL/pgSQL function "assign_vertex_id" line 15 at EXECUTE statement
    ERROR:  query string argument of EXECUTE is null
    CONTEXT:  PL/pgSQL function "assign_vertex_id" line 32 at EXECUTE statement

    ********** Error **********

    ERROR: query string argument of EXECUTE is null
    SQL state: 22004
    Context: PL/pgSQL function "assign_vertex_id" line 32 at EXECUTE statement

你知道为什么会发生这种事吗?

EN

回答 2

Stack Overflow用户

发布于 2013-01-10 19:51:05

我知道这是一个古老的帖子,但我想提供一个答案,也许它会对某人有所帮助。

我找到了this的文章,它解决了我的问题。

更新:

所以我从这篇文章中复制了相关信息:

以下代码的第一行错误:

代码语言:javascript
复制
FOR _r IN EXECUTE 'SELECT srid FROM geometry_columns WHERE f_table_name='''|| quote_ident(geom_table)||''';' LOOP
srid := _r.srid;
    END LOOP;

并应修改为:

代码语言:javascript
复制
FOR _r IN EXECUTE 'SELECT srid FROM geometry_columns WHERE f_table_name='''|| geom_table||''';' LOOP
srid := _r.srid;
    END LOOP;

这是因为"quote_ident( tablename )“是错误的,它在表名周围添加了额外的‘’。

票数 1
EN

Stack Overflow用户

发布于 2012-09-09 02:26:51

也许你应该试试:

代码语言:javascript
复制
SELECT assign_vertex_id("ways", 0.00001, "the_geom", "gid");

GIYF

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

https://stackoverflow.com/questions/12333251

复制
相关文章

相似问题

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