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:
  1. Abra un editor SQL y conéctese a la base de datos.

    Conéctese usando una cuenta que tenga privilegios para eliminar de la tabla.

  2. A continuación se presentan consultas de ejemplo que eliminan datos para cada base de datos compatible:
    • Este ejemplo elimina valores de una tabla de Oracle en función de 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 tabla de PostgreSQL en función de 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');
      
    • Este ejemplo elimina valores de una tabla de una base de datos de SQLite en función de un filtro espacial:
      DELETE FROM sensitive_areas WHERE names
      (SELECT sa.names 
       FROM sensitive_areas sa, hazardous_sites hs
       WHERE st_overlaps (sa.zone, st_buffer (hs.location,.01)) = 1);
      
    • 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 ello, la consulta se debe dividir en dos partes: seleccione en 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);
      
5/10/2014