Je dois créer une routine qui vérifie régulièrement une base de données et apporte des modifications si nécessaire.

Permettez-moi d'expliquer mon problème avec l'exemple suivant. Une base de données stocke les participants et les gagnants des tournois.

Nous avons deux tables stockant les données de base (tournois, personnes) De plus, nous avons deux tables supplémentaires pour les références.

  1. Table des gagnants qui stocke l'ID de tournoi et l'ID de personne
  2. Table des participants qui stocke tournoiId et peopleId

Maintenant, le script doit prendre chaque entrée de la table des gagnants et l'insérer dans la table des participants, car chaque gagnant est également un participant.

Insert Into ParticipantTable 
Select * From WinnerTable

Cependant, certains utilisateurs de la base de données insèrent manuellement les gagnants dans la table des participants, d'autres non. Le code ci-dessus ne fonctionnera pas car des violations PK peuvent apparaître.

Comment puis-je indiquer à l'instruction de faire l'insertion uniquement si l'entrée n'est pas encore dans la table des participants ?

Merci d'avance, désolé pour mon anglais messi et gardez à l'esprit que l'exemple ci-dessus est fictif. Je suis conscient que le modèle de données décrit ne correspond pas parfaitement au cas d'utilisation décrit.

0
DocBenchpress 20 nov. 2019 à 17:55

1 réponse

Meilleure réponse