我是一个完整的PostGIS菜鸟,并且无法理解SQL语法的细节。我正在尝试获取大量的行数据并使用多边形进行剪辑。然后,我想创建一个新表,其中包含我用于剪辑的多边形中的线条。当我运行这个时,我收到' ERROR:语法错误,在ST_Split""我不确定我的语法有什么问题。我正在跳跃,有些人可以向我解释这行代码有什么问题。另外我希望有人可以解释循环和变量语法。来自python背景似乎非常复杂。
CREATE TABLE roads_clipped AS
ST_Split(
(SELECT geom
FROM roads),
(SELECT st_union
FROM iberian_peninsula)
);
CREATE TABLE roads_of_the_iberian_peninsula;
BEGIN
FOR row IN
SELECT geom FROM roads_clipped
LOOP
IF ST_Contains(
(SELECT st_union
FROM iberian_peninsula)
,row)
THEN INSERT INTO roads_of_the_iberian_peninsula
VALUES row;
END IF;
END LOOP;
END;
由于
答案 0 :(得分:0)
正确的语法应该是
CREATE TABLE your_table AS (SELECT ST_Split(...));
由于没有列定义,CREATE TABLE roads_of_the_iberian_peninsula;
也没有意义。