更新 ST_Geometry 空间列中的值

正如可更改其他属性类型一样,SQL UPDATE 语句也可用于更改空间列中的值。通常,空间属性数据必须从表中检索出来,在客户端应用程序中进行更改,然后再返回到服务器。

以下 SQL 语句说明了对于所有受支持的数据库,如何获取并更新 hazardous_sites 表中某一行的空间数据:

步骤:
  1. 更新 ST_Geometry 列中存储的值。
    • Oracle
      UPDATE hazardous_sites 
      SET location = sde.st_geometry('point (18 57)', 0) 
      WHERE site_id = 102;
      
    • PostgreSQL
      UPDATE hazardous_sites 
      SET location = st_point('point (18 57)', 0) 
      WHERE site_id = 102;
      
    • IBM DB2
      UPDATE hazardous_sites 
      SET location = db2gse.st_pointfromtext('point(18 57)', 1) 
      WHERE site_id = 102
      
    • IBM Informix
      UPDATE hazardous_sites 
      SET location = st_pointfromtext('point(18 57)', 1) 
      WHERE site_id = 102
      
9/15/2013