Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 881 → Rev 882

/trunk/scripts/modules/cel/maj-cleanup-201307.sql
12,8 → 12,18
-- pas de raison historique mémorisée à une différence '' vs NULL
UPDATE `BASEEDIT`.`cel_obs` SET nom_referentiel = NULL where nom_referentiel = '';
 
-- uniformisation NULL / vide pour nom_sel
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = NULL WHERE nom_sel = '';
 
-- uniformisation NULL / vide pour nom_sel_nn
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel_nn = NULL WHERE nom_sel_nn = 0;
 
-- restauration de nom_sel vraisemblablement valides, mais vides: 48 obs
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = nom_ret WHERE nom_sel IS NULL AND nom_ret IS NOT NULL AND nom_ret != '' AND nom_sel_nn IS NOT NULL;
 
 
-- suppression des infos générées pour les observations dont le nom_sel à été supprimé par l'utilisateur
-- 3172
-- 3380
UPDATE `BASEEDIT`.`cel_obs` c SET
c.nom_ret = '',
c.nom_sel_nn = NULL,
21,17 → 31,23
c.nom_ret_nn = NULL,
c.nt = NULL,
c.famille = NULL
WHERE nom_sel = '' OR nom_sel IS NULL;
WHERE nom_sel IS NULL OR nom_ret = 'undefined';
 
-- problème n°1: mauvais référentiel (bdtfx)
UPDATE `BASEEDIT`.`cel_obs` SET nom_referentiel = 'bdtxa' WHERE lieudit = 'Grenade';
-- problème n°1: mauvais référentiel (bdtfx au lieu de bdtxa), on utilise les lieudit "bdtxa" pour
-- corriger les observations qui pourraient être étiquetées avec un mauvais nom_referentiel: 49 obs
CREATE TEMPORARY TABLE T_cleanref (lieu VARCHAR(255)) ENGINE=MEMORY AS ( SELECT DISTINCT TRIM(lieudit) FROM `BASEEDIT`.`cel_obs` WHERE nom_referentiel = 'bdtxa' );
UPDATE `BASEEDIT`.`cel_obs` SET nom_referentiel = 'bdtxa' WHERE nom_referentiel != 'bdtxa' AND lieudit != '' AND lieudit IN (SELECT lieu FROM T_cleanref);
DROP TEMPORARY TABLE T_cleanref;
 
-- problème n°2: nom_sel NULL, nom_ret NOT NULL: 26 obs
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = nom_ret, nom_sel_nn = nom_ret_nn WHERE nom_sel IS NULL AND nom_ret IS NOT NULL;
 
-- problème n°3: backslashes + newline: 90 + 217 obs
-- problème n°2: backslashes + newline: 90 + 217 obs
UPDATE `BASEEDIT`.`cel_obs` SET commentaire = REPLACE(commentaire, "\n\\\'", "'");
UPDATE `BASEEDIT`.`cel_obs` SET commentaire = REPLACE(commentaire, "\\\'", "'");
 
-- problème n°4: ce_zone_geo inutile: 57802 obs
-- problème n°3: ce_zone_geo inutile: 57802 obs
UPDATE `BASEEDIT`.`cel_obs` SET ce_zone_geo = NULL WHERE ce_zone_geo = 'INSEE-C:';
 
-- trim nom_sel
UPDATE `BASEEDIT`.`cel_obs` SET nom_sel = TRIM(nom_sel);
-- nom_ret = "null"
UPDATE `BASEEDIT`.`cel_obs` SET nom_ret = NULL WHERE nom_ret = 'null';