Eliminar valores de una columna espacial ST_Geometry
La declaración SQL DELETE quita filas de datos de una tabla o vista específicas.
Pasos:
-
A continuación se presentan consultas de ejemplo que eliminan datos para cada base de datos compatible:
- Este ejemplo elimina valores de una geodatabase en Oracle con el tipo espacial basado en un filtro espacial:
DELETE FROM sensitive_areas WHERE names (SELECT sa.names FROM sensitive_areas sa, hazardous_sites hs WHERE sde.st_overlaps (sa.zone, sde.st_buffer (hs.location,.01)) = 1);
- Este ejemplo elimina valores de una geodatabase en PostgreSQL con el tipo espacial basado en un filtro espacial:
DELETE FROM sensitive_areas WHERE names EXISTS (SELECT sa.names FROM sensitive_areas sa, hazardous_sites hs WHERE st_overlaps (sa.zone, st_buffer (hs.location,.01)) = 't');
- En IBM DB2, utilice la siguiente declaración:
DELETE FROM sensitive_areas WHERE names (SELECT sa.names FROM sensitive_areas sa, hazardous_sites hs WHERE db2gse.st_overlaps (sa.zone, db2gse.st_buffer (hs.location,.01)) = 1);
- Informix no admite la modificación de una tabla o vista que se usa en una subconsulta. Por consiguiente, divida la consulta en dos partes: seleccione una tabla temporal y elimine mediante esa tabla temporal.
SELECT sa.name FROM sensitive_areas sa, hazardous_sites hs WHERE st_overlaps (sa.zone, st_buffer (hs.location,.01)) INTO TEMP tempTable; DELETE FROM sensitive_areas WHERE name IN (select name from tempTable);
- Este ejemplo elimina valores de una geodatabase en Oracle con el tipo espacial basado en un filtro espacial:
3/6/2012