正如可更改其他属性类型一样,SQL UPDATE 语句也可用于更改空间列中的值。通常,空间属性数据必须从表中检索出来,在客户端应用程序中进行更改,然后再返回到服务器。
以下 SQL 语句说明了对于所有受支持的数据库,如何获取并更新 hazardous_sites 表中某一行的空间数据:
- 打开 SQL 编辑器并连接到数据库。
使用对表具有更新权限的帐户进行连接。
- 更新 ST_Geometry 列中存储的值。
- Oracle
UPDATE hazardous_sites SET location = sde.st_geometry('point (18 57)', 4326) WHERE site_id = 102;
- PostgreSQL
UPDATE hazardous_sites SET location = st_point('point (18 57)', 4326) WHERE site_id = 102;
- SQLite
UPDATE hazardous_sites SET location = st_point('point (18 57)', 4326) WHERE site_id = 2;
- 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
- Oracle