我正在尝试编写一个UPSERT语句,以便在包含几何列的PostgresSQL数据库中插入或更新行。我的输入是一个KML片段,只要KML是有效的,下面的语句就对我有效。
UPDATE area SET shape = ST_GeomFromKML('{the KML}') WHERE area_code = '{the area}';
INSERT INTO area(area_code, shape) SELECT '{the area}', ST_GeomFromKML('{the KML}') WHERE NOT EXISTS