当我执行以下查询时;
SELECT Assign_vertex_id('ways', 0.00001, 'the_geom', 'gid')我得到了以下错误;
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你知道为什么会发生这种事吗?
发布于 2013-01-10 19:51:05
我知道这是一个古老的帖子,但我想提供一个答案,也许它会对某人有所帮助。
我找到了this的文章,它解决了我的问题。
更新:
所以我从这篇文章中复制了相关信息:
以下代码的第一行错误:
FOR _r IN EXECUTE 'SELECT srid FROM geometry_columns WHERE f_table_name='''|| quote_ident(geom_table)||''';' LOOP
srid := _r.srid;
END LOOP;并应修改为:
FOR _r IN EXECUTE 'SELECT srid FROM geometry_columns WHERE f_table_name='''|| geom_table||''';' LOOP
srid := _r.srid;
END LOOP;这是因为"quote_ident( tablename )“是错误的,它在表名周围添加了额外的‘’。
发布于 2012-09-09 02:26:51
https://stackoverflow.com/questions/12333251
复制相似问题