|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juillet 2005 Messages : 245 ![]() |
Bonjour,
Dans une table, j'ai un champ varchar(), je voudrais mettre une contrainte que tous les caractères saisis soient des majuscules. idem dans un autre champ : je voudrais que la première lettre soit une majuscule, et toutes les suivantes soient minuscules. J'imagine qu'il faut écrire une procédure stockée, ou quelque chose comme ça, mais comment faire ? Je suis sous postgreSQL. Merci, Nico |
|
|
00
|
|
|
#2 |
![]() ![]() |
Le contrôle de saisie vous devriez le faire au niveau de votre application.
La base de données va contrôler cette règle via une contrainte CHECK : Idem pour la première lettre en majuscule : Maintenant vous pouvez tout à fait laisser la saisie libre, et forcer la casse dans une vue avec ces mêmes fonctions.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : juillet 2005 Messages : 245 ![]() |
merci pour les syntaxe SQL.
Code :
Le contrôle de saisie vous devriez le faire au niveau de votre application. Mon idée, c'est que si un jour j'ai un chargement massif de données à faire, au lieu de passer par l'interface, je fais ça par des scripts sql, et donc, il faut qu'il y ait un contrôle de saisie au niveau de la base... Mauvais raisonnement ? Merci, Nico |
|
|
00
|
|
|
#4 | ||||||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 958 ![]() |
Vous pouvez codez un déclencheur pour ce faire. Exemple :
La table : La fonction : Code :
Code :
La solution : Code :
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||||||
|
00
|
|
|
#5 |
![]() ![]() Inscription : octobre 2008 Messages : 1 508 ![]() |
Il n'y a pas à faire d'update dans la fonction, il suffit de faire NEW.C = upper(c) et lier la fonction à un trigger BEFORE, ce sera beaucoup plus efficace.
|
|
|
10
|
|
|
#6 |
![]() ![]() |
SQL-Server ne gère pas les triggers BEFORE.
Mais sur un SGBD qui les supporte vous avez parfaitement raison, le trigger BEFORE sera la plus performant.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#7 | |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 958 ![]() |
Citation:
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
|
00
|
|
|
#8 | |||
![]() ![]() Inscription : octobre 2008 Messages : 1 508 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#9 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 958 ![]() |
Ah mon dieux, c'est vrai que ça a changé récemment !
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
Copyright © 2000-2012 - www.developpez.com