Suppression de valeurs d'une colonne spatiale ST_Geometry
L'instruction SQL DELETE supprime des lignes de données d'une table ou vue spécifiée.
Étapes :
-
Voici des requêtes d'exemple qui suppriment des données pour chaque base de données prise en charge :
- Cet exemple supprime les valeurs d'une géodatabase dans Oracle à l'aide du type spatial, en fonction d'un filtre spatial :
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);
- Cet exemple supprime les valeurs d'une géodatabase dans PostgreSQL à l'aide du type spatial, en fonction d'un filtre spatial :
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');
- Dans IBM DB2, utilisez l'instruction suivante :
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 ne prend pas en charge la modification d'une table ou d'une vue utilisée dans une sous-requête. Par conséquent, scindez la requête en deux parties. Vous pouvez alors effectuer une sélection pour la placer dans une table temporaire et finalement supprimer cette sélection en supprimant la table temporaire.
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);
- Cet exemple supprime les valeurs d'une géodatabase dans Oracle à l'aide du type spatial, en fonction d'un filtre spatial :
3/6/2012