#1 Wed 13 October 2021 17:54
- LEHALLAIS Arnaud
- Participant occasionnel
- Lieu: Maison du Département - St-Lô
- Date d'inscription: 12 Oct 2006
- Messages: 20
- Site web
Postgresql - Contrainte de saisie - Caractères spéciaux
Bonjour,
je souhaite forcer la saisie des numéros de parcelle cadastrale (ex : 50129000AB0010) dans la colonne idu d'une table POSTGRE.
Le but est de forcer les utilisateurs à saisir uniquement des chiffres (0 à 9) et des lettres en majuscules sans accent (A à Z).
J'ai réussi à créer une contrainte pour éviter les saisies NULL et obliger la saisie des 14 caractères requis.
ALTER TABLE patrimoine_dep
ADD CONSTRAINT patrimoine_dep_idu_ck CHECK (character_length(idu::text) = 14);
Quelqu'un aurait-il une idée?
D'avance merci.
Cordialement
LEHALLAIS Arnaud
Hors ligne
#2 Thu 14 October 2021 08:50
- magr
- Participant occasionnel
- Date d'inscription: 30 Mar 2016
- Messages: 30
Re: Postgresql - Contrainte de saisie - Caractères spéciaux
Avec une expression régulière :
Code:
ALTER TABLE patrimoine_dep ADD CONSTRAINT patrimoine_dep_idu_ck CHECK (idu ~ '^[A-Z0-9]{14}$')
Dernière modification par magr (Thu 14 October 2021 08:51)
Hors ligne
#3 Thu 14 October 2021 09:36
- LEHALLAIS Arnaud
- Participant occasionnel
- Lieu: Maison du Département - St-Lô
- Date d'inscription: 12 Oct 2006
- Messages: 20
- Site web
Re: Postgresql - Contrainte de saisie - Caractères spéciaux
Je viens de faire des tests, et la contrainte fonctionne parfaitement.
Merci beaucoup pour ton efficacité et ta rapidité magr.
Hors ligne