Ancestrologie - Plugins et Outils > BOA

Modification prénom

(1/1)

Gilbert B:
Je cherche à modifier un prénom dans un dosier.

J'utiliser précédemment cette requête:

update  INDIVIDU
set  PRENOM ='François'
where  PRENOM ='Françcois'
and kle_dossier=1
elle ne marche pas.

Sur le forum je trouve celle-là:
update individu i
 set i.prenom=(select remplace from f_remplace('elie','Élie',i.prenom,1))
 where i.kle_dossier=1
    and upper(i.prenom) containing upper('elie')
Elle ne marche pas non plus

Où est l'erreur?
 

DDdeBerdeux:
Bonsoir,

Pour pouvoir être fait sans erreur, le remplacement d'un prénom par un autre prénom demande l'exécution d'une procédure qui ne peux pas être créée et exécutée directement dans le BOA.
Avec quelques précautions les fonctions containing et replace devraient permettre de faire cette modification, mais il faut savoir que: "containing" ignore la casse lors de la sélection et comme "replace" ignore si le mot à remplacer n'est pas contenu dans un autre mot (comme François dans Françoise).
Il faut donc d'abord vous assurer que 'Françcois' est toujours séparé dans la liste de vos prénoms.
Pour cela, exécutez d'abord la requête suivante:

--- Code: ---select CLE_FICHE,PRENOM
from INDIVIDU
where KLE_DOSSIER=1
  and PRENOM containing 'Françcois'

--- Fin du code ---
Si dans les résultats il y a quelques cas où ce Françcois n'est pas isolé, il est préférable de les corriger en ouvrant la fiche par son NIP.
Vous pourrez ensuite modifier le reste en "exécutant une procédure"

--- Code: ---update INDIVIDU
set PRENOM=replace(PRENOM,'Françcois','François')
where KLE_DOSSIER=1
  and PRENOM containing 'Françcois'

--- Fin du code ---

André

Gilbert B:
Merci beaucoup.
Cela a parfaitement fonctionné.

Navigation

[0] Index des messages

Une erreur s'est produite lors du remerciement
Remerciement...
Utiliser la version classique