具有返回多行函数的查询



我有一个具有几何列的表。这些几何图形通常是多多边形或多行字符串,我希望将它们分解成它们的组成部分,而不重复其他数据。现在我使用以下命令:

CREATE TABLE newTable AS SELECT index, ST_Dump(geometry) AS geometry FROM initialTable

这工作没有问题,并产生newTable与多边形和线串和initialTable包含其他相关信息的行参考列。

然而,我想将这里发现的进度跟踪纳入其中,因为上述语句可能需要一些时间。

因此,我想把上面的语句分成两部分:1)创建表2)填充表

第一个方法很简单,但是填充表让我觉得一个multilinestring行可以创建许多linestring行。

如有任何帮助,不胜感激。

SELECT中使用ST_Dump并将结果集重定向到INSERT语句,例如:

CREATE TABLE newTable (gid int, geom geometry(linestring,4326));
INSERT INTO newtable 
SELECT (ST_Dump(geom)).path[1],(ST_Dump(geom)).geom 
FROM initialTable;

最新更新