IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Trigger: contrôle des doublons à l'insertion


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2013
    Messages : 33
    Points : 33
    Points
    33
    Par défaut Trigger: contrôle des doublons à l'insertion
    Bonjour ,

    Ma problématique est la suivante :

    je recois des données qui alimenteront ma table A

    j'ai une table B composé de ( code_personne , et numero_compte) qui contiendra tous les couple de code_personne avec leur bon numero de compte associé

    j'aimerai creer un trigger qui assurera un controle de doublons par rapport aux donnes de la table A
    si un doublon existe qu'il le remplace avec le bon ( celui renseigné dans la tableB)
    sinon dans le cas ou un doublon existe et qu'il ya pas son code référent dans la table B , qu'il alerte l'utilisateur de ce doublons et lui laisse le choix de choisir le bon des deux .
    une fois l'utilisateur choisisse le bon code avec son numero de compte , il le stock dans la table A et supprime le mauvais

    je solicite votre aide .. j'essaye depuis ce matin mais j'arrive pas à voir comment faire

    Merci beaucoup d'avance

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par petitediablesse Voir le message
    Bonjour ,

    Ma problématique est la suivante :

    je recois des données qui alimenteront ma table A

    j'ai une table B composé de ( code_personne , et numero_compte) qui contiendra tous les couple de code_personne avec leur bon numero de compte associé

    j'aimerai creer un trigger qui assurera un controle de doublons par rapport aux donnes de la table A
    si un doublon existe qu'il le remplace avec le bon ( celui renseigné dans la tableB)
    sinon et si dans le cas ou un doublon existe et qu'il ya pas son code référent dans la table B , qu'il alerte l'utilisateur de ce doublons et lui laisse le choix de choisir le bon des deux .
    une fois l'utilisateur choisisse le bon code avec son numero de compte , il le stock dans la table A et supprime le mauvais

    je solicite votre aide .. j'essaye depuis ce matin mais j'arrive pas à voir comment faire
    Merci beaucoup d'avance
    Ce n'est guerre étonnant vu la logique bizarre de la demande!

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2013
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    excusez moi , mais est ce que c'est mal formulé ? qu'est ce qui vous semble pas assez clair ?

  4. #4
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Je ne pense pas que ce soit une logique à coder dans un trigger.

    D'une part parce que:
    qu'il alerte l'utilisateur de ce doublons et lui laisse le choix de choisir le bon des deux
    un trigger ne renvoit rien sauf éventuellement un message d'erreur. Et il ne pose pas de question à l'utilisateur.

    D'autre part parce que:
    si un doublon existe qu'il le remplace avec le bon
    ce n'est pas toujours la ligne en cours d'insert qu'il faut modifier, mais parfois l'autre.

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  5. #5
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par pachot Voir le message
    ...
    un trigger ne renvoit rien sauf éventuellement un message d'erreur. Et il ne pose pas de question à l'utilisateur.
    ....
    Je pense que l'intervenant parle des triggers en contexte Forms.

  6. #6
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Citation Envoyé par petitediablesse Voir le message
    excusez moi , mais est ce que c'est mal formulé ? qu'est ce qui vous semble pas assez clair ?

    Salut,

    Relis les passages que mnitu a mis en gras en citant ton post initial.
    Si je peux me permettre, on attendrait d'une CP MOA une description un peu plus claire, par exemple sur ce que tu appelles doublons (sur quelles données exactement)

    Donne nous un exemple de données, dans A, dans B, les différents cas... enfin comme si tu faisais un document exploitable par l'IT, en gros.

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2013
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    Bonjour ,

    d'accord pour bien clarifier les choses ,la situation ou la problematique est la suivante :

    on a une alimentation de données dans une table appellé doubles avec les champs suivants ( code_societe, num_compte ). cette table contiendra la liste des bons société avec leur le bon couple ( code_societe, num_compte)

    j'aimerai à chaque fois aprés l'alimentation des donnés dans la table B qui contient plusieurs informations dont ( code_societe, ainsi num compte) que le trigger fais une comparaison entre les données de A et celle ajouté dans la table B ,

    1er cas :
    si il trouve un meme code_societe dans la table B avec un autre num_compte différent de celui de la table A , qu'il le remplace avec le bon num_compte qui est dans la table A .
    2em cas :
    si il trouve meme code_société avec deux num_compte differents et qu'il y a pas de reference de code_societe dans la table A , il renvoi un message d'erreur et le stock dans une Table C

    ( L'interet c'est que moi en developpent l'applicatif dans ma vue j'afficherai les deux code_societe avec leur num_compte associé (de la table C) et permettre à l'utilisateur de choisir le code_societe avec le bon num_compte une fois il valide son choix , ce code_societe avec son bon num_compte va etre stocker dans la table A pour devenir lui aussi comme un referentiel pour les prochaine fois ainsi de suite )


    J'espere que mon explication et le contexte de ma logique est plus clair maintenant

    Merci d'avance



    j'aimerai une fois les donnée

    je dois creer un trigger qui me permettrai

  8. #8
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par petitediablesse Voir le message
    Bonjour ,

    d'accord pour bien clarifier les choses ...
    oubliez les triggers pour cette tâche.
    Probablement que vous avez besoin juste d'une instruction merge et une quelconque requête de vérification des données.
    Essayez avec un exemple; j'avoue a ne pas avoir tout compris (j'avoue également à ne pas trop avoir fait l'effort).

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2013
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    pourquoi un trigger ne fera pas l'affaire ?

    Un exemple d'utilisation de merge dans mon exemple s'il vous plait ?

  10. #10
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par petitediablesse Voir le message
    pourquoi un trigger ne fera pas l'affaire ?
    ?
    Relisez @pachot

    Citation Envoyé par petitediablesse Voir le message
    Un exemple d'utilisation de merge dans mon exemple s'il vous plait ?
    Cherchez Merge sur le forum Oracle/SQL

  11. #11
    Nouveau membre du Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juillet 2013
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    Bonjour ,

    je pense que dans mon dernier message ou je decrivais la problematique , j'ai laissé tomber tout ce qui est alerte et utilisateur et j'ai parlé de ma base de données donc voila

    J'ai l'impression que j'explique ma problématique pour moi toute seule en fait .

    Merci quand meme

  12. #12
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Bonjour,

    Essayez de préparer un petit jeu d'essai qui vous aidera à expliquer quelle sont vos données en entrée et quelle est le résultat attendu pour chaque cas que vous voulez traiter.

    Bon courage.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/05/2014, 14h39
  2. [XL-2003] Contrôle des doublons sur plusieurs feuilles, puis suppression
    Par DeathLighT dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/03/2013, 12h14
  3. contrôle des doublons sur plusieurs champs
    Par christy1 dans le forum Modélisation
    Réponses: 3
    Dernier message: 09/12/2011, 14h13
  4. Trigger: contrôle des doublons à l'insertion
    Par CaptainT dans le forum PL/SQL
    Réponses: 25
    Dernier message: 20/09/2007, 09h45
  5. [MySQL] Contrôle des doublons
    Par samjung dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 16/11/2005, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo