ce que je voudrais faire c'est juste pour chaque prénom apres insertion mettre la premiere lettre du prénom en majuscule et tout le reste en miniscule
exemeple
prénom
---------
Robert
Arlette
ce que je voudrais faire c'est juste pour chaque prénom apres insertion mettre la premiere lettre du prénom en majuscule et tout le reste en miniscule
exemeple
prénom
---------
Robert
Arlette
Affected Rows: 0
SQL-query:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE FUNCTION "fctmajlettre "(varchar) RETURNS numeric AS 'declare enr RECORD; BEGIN FOR enr in select * from patient loop update patient set pre_patient = upper(enr.pre_patient[1]) where pre_patient = enr.pre_patient; end loop; return 1; end;' LANGUAGE 'plpgsql'
j'ai essayé en utilisant [1] mais sa marche pas !
Modéré par stessy
Ajout de balises [code]
Prière de lire les règles du forum
Merci
essaye avec initcap à la place de upper
Modéré par stessy
Code : Sélectionner tout - Visualiser dans une fenêtre à part update patient set pre_patient = initcap(enr.pre_patient)
Ajout de balises [code]
Prière de lire les règles du forum
Merci
non il n'y aucun changement que sa soit avec
ou avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part set pre_patient = initcap(enr.pre_patient[1])
snif
Code : Sélectionner tout - Visualiser dans une fenêtre à part set pre_patient = initcap(enr.pre_patient)
Modéré par Stessy
Ajout de balises [code]
Prière de lire les règles du forum
Merci
Pourtant initcap marche quand tu fais une requete à la main !
c'est surement ta fonction qui est fausse
moi je ferai un truc comme ça :
ensuite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE FUNCTION fctmajlettre_function() RETURNS TRIGGER AS ' BEGIN NEW.pre_patient := initcap(OLD.pre_patient); RETURN NEW; END;' LANGUAGE 'plpgsql';
je n'ai pas testé et je sais pas si ça peut marcher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TRIGGER fctmajlettre_trigger BEFORE INSERT OR UPDATE ON patient FOR EACH ROW EXECUTE PROCEDURE fctmajlettre_function();
Bon courage
Modéré par Stessy
Ajout de balises [code]
Prière de lire les règles du forum
Merci
hélas sa ne marche toujours pas, pourtant c bete que avec upper et en isolant la première lettre avec [1] on ne puisse pas mettre en majuscule!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager