|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() hajare karim Inscription : mars 2010 Messages : 15 ![]() |
salut,
j'ai crée un trigger qui permet d'adapter le format de tél suivant(05 02.03.01.05) lors de la modification ou l'ajout des infos d'un médecin. bon voilà j'ai essayé mais je sais où est le problème, Code :
amina |
||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Robert LabrousseDéveloppeur décisionnel Inscription : février 2009 Messages : 79 ![]() |
Bonjour,
A chaque insertion ou modification dans votre table, vous modifiez la structure de la table. Ce n'est pas ce que vous voulez faire : on ne mets jamais d'ALTER dans un trigger. Il vous faut écrire un bloc PL/SQL qui ajoute un point tous les 2 caractères : je ferai pour ma part comme cela |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() hajare karim Inscription : mars 2010 Messages : 15 ![]() |
salut et merci pour votre réponse,
mais ça veux dire quoi un bloc PL/SQL et comment je peux l'écrire? peut tu corriger mon code pour que je mieux comprendre? |
|
|
00
|
|
|
#4 | |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
Citation:
![]() il faudrait que vous indiquiez clairement ce que vous désirez
|
|
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Robert LabrousseDéveloppeur décisionnel Inscription : février 2009 Messages : 79 ![]() |
Pourquoi voulez-vous rajouter ces points ? Je n'en vois pas l'intérêt car c'est juste une question d'affichage.
Quel est le format de votre table et surtout de votre attribut tel ? |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() hajare karim Inscription : mars 2010 Messages : 15 ![]() |
c'est pas la question des points,juste c'est un format de tél
car je veux que le champ tel doit respecter le format suivant par exemple: 06 40.31.35.79 donc on est besoin d'inserer des points,mais le trigger ne ça marche pas et je sais pas pourquoi |
|
|
00
|
|
|
#7 |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 445 ![]() |
La mise en forme des données n'est pas du ressort du SGBD mais de l'application qui l'utilise.
C'est donc au niveau de la saisie que la mise en forme doit être effectuée, pas par un trigger lors de l'insertion ou la mise à jour.
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
|
|
10
|
|
|
#8 | |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 954 ![]() |
Citation:
Donnant tous les ans un cours sur la gestion de la qualité des données, je peut te dire que l'élément n°1 à tous les niveaux de gestion de la qualité est l'écriture de trigger de reformatage des données. C'est de loin la technique la plus puissante. Cependant il ne faut pas succomber à la cosmétique. Autrement dit un trigger pour gérer la qualité des données d'un numéro de tel, ne laisserait passer que des nombres et supprimerais les caractères superflus à la volée. par exemple : saisie de : 00 33 6-11-86-40-66 correction par trigger : 0033611864066 Enfin pour le formatage spécifique une vue serait adaptée.... dans notre exemple elle donnerait : 00 33 6 11.86.40.66 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 * * * * * |
|
|
11
|
|
|
#9 |
|
Invité de passage
![]() hajare karim Inscription : mars 2010 Messages : 15 ![]() |
mais pourquoi vous discutez des sujets n'ayant pas de relation avec ma question,SVP aidez moi,j'ai pas encore trouvé la source du problème de mon trigger!!!!
|
|
|
01
|
|
|
#10 | |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
Oh que si des infos ont été fournies
UN TRIGGER NE DOIT PAS CONTENIR DE "ALTER" voir le commentaire de tfc3146 Citation:
ensuite regardez des tutorials sur les Domaines qui posent des contraintes au format des données. |
|
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() |
Ok je vais faire court:
Votre idée est bonne mais vous ne devez pas le faire dans un trigger... Vous voulez juste ajouter un contrainte CHECK sur votre table médecin pour les téléphones... Ajoutez donc une fois pour toute votre contrainte à la table... vous n'avez à le faire qu'une fois... Code :
En revanche rien ne vous empêche EN PLUS de coder une logique de formatage (comme le stipule SQL PRO) dans un trigger qui va commencer par supprimer les espaces etc voir rajouter les points là ou il faut...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
||
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() hajare karim Inscription : mars 2010 Messages : 15 ![]() |
bonne idée,mais je veux un trigger pas une constraint...enfin mais pourquoi c'est impossible de mettre update dans un trriger,j'ai déjà vu des exemple sur internet avec update
|
|
|
00
|
|
|
#13 | |||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
![]() Comment le dire : UPDATE : oui ALTER : NON et c'est un ALTER que vous vouliez, non !!! Citation:
|
|||
|
|
00
|
|
|
#14 | ||
|
Membre Expert
![]() |
Citation:
Et bien vous faites une erreur... je ne peux donc vous aider :-) Citation:
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
||
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Vous confondez beaucoup de choses : - Une instruction UPDATE (qui peut se trouver dans un trigger) permet de modifier des données qui sont déjà dans la table - Un trigger est un type particulier de module SQL qui permet de créer des règles métier complexes, en aval - Une contrainte de domaine (CHECK) permet de vérifier la validité des données suivant une règle simple, et la vérification se fait en amont. Pour un numéro de téléphone, votre filtre est très léger ... Il faudrait vérifier que les numéro de téléphone ne contient que des chiffres entre les points. De plus suivant les pays, les normes et indicatifs téléphoniques ne sont pas les mêmes. Je ne sais pas si les lettres sont encore utilisées, mais il y a quelques années, c'était le cas dans certains pays. Êtes-vous dans un contexte international ? @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#16 |
|
Membre expérimenté
![]() Inscription : octobre 2002 Messages : 654 ![]() |
Bonjour,
Question supplémentaire quel est ton sgbd? Un trigger s'écrit de façon différente selon le SGBD. A+ Soazig |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() hajare karim Inscription : mars 2010 Messages : 15 ![]() |
pour la réponse d'Olivier,
Bon,j'ai utilisée alter et ça marche bien car il me donne comme message commande réussite,donc je pense qu'on peux utilisé alter. Et pour la réponse de soazig,j'ai pas compris votre question,je pense qu'il y a un seul sgbdr n'est ce pas?!! et merci d'avance cordialement Hajare |
|
|
00
|
|
|
#18 | |
![]() ![]() |
Citation:
Clique sur le lien Bases de données ci-dessus et tu verras des forums dédiés à différents SGBDR. Et encore, tous n'ont pas leur forum dédié !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() hajare karim Inscription : mars 2010 Messages : 15 ![]() |
ah oui je sais qu'il y a de multiples systémes de gestion de base de données et personnellement j'ai utilisé sql server ,juste c'est une incompréhension du question
|
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() hajare karim Inscription : mars 2010 Messages : 15 ![]() |
salut,
vraiment c'est une gentillesse de la part de tous ce qui participer dans la réponse sur ma question ,vous avez vraiment sacrifier votre temps pour répondre à ma question.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com