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

MS SQL Server Discussion :

Comment mettre à jour une ligne sans doublon via déclencheur


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Comment mettre à jour une ligne sans doublon via déclencheur
    Bonjour,
    Je récupère à l'aide d'un lot DTS 7 fichiers de même structure que j'insère dans ma base de données.
    Chaque jour, ces fichiers sont mis à jour et parfois archivé en supprimant leur contenu. Ma base, elle doit toujorus etre à jour avec toutes les données.
    Ma question est :
    Dois-je utiliser un déclencheur pour ne pas remettre à jour les elements déjà rentrés dans la base et pour n'insérer que les nouvelles données. Mais comment dois-je faire ?
    ou dois-je le réaliser à l'aide d'une requete (comment faire également).

    Petit exemple :
    Mes fichiers se présentent de la facon suivante :
    Date; heure; N° infopak; adresse IP; Nom de borne

    La table est structurée de la même maniere.
    Chaque jour le fichier est incrémenté.
    Jour J :
    27/07/2004; 20:15:12; 187554; TOTO

    Jour J+1
    27/07/2004; 20:15:12; 187554; TOTO
    28/07/2004; 20:16:45; 187554; TITI

    Je ne souhaite pas insérer 2 fois le même champs, à savoir TOTO et ne souhaite pas supprimer chaque jour ma table.
    La solution la mieux adaptée serait le déclencheur, mais comment comparer si la ligne est déjà rentrée et si oui ne pas l'insérer.
    Merci pour votre aide et j'espere avoir été assez clair.

    Alex

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 13
    Points : 11
    Points
    11
    Par défaut suggestion
    Pour moi tout n'est pas clair ...
    Chaque jour, ces fichiers sont mis à jour et parfois archivé en supprimant leur contenu.
    Tu stockes des fichiers vides ?
    Ensuite, je ne vois pas l'interet du trigger ...
    Je vois 3 solutions :
    • Il faut que tu parcoures tes fichier ligne par ligne et que tu teste si les données existent déjà ... ou pas ... et dans ce dernier cas tu fais un insert classique ...
    • ou Tu mets des contraintes sur les champs de ta table
    • ou Tu vides chaque jour les fichiers qui te servent à l'insertion comme ça pas de pblm de tests
    ==> Mais ou sont les missiles ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut [RESOLU]
    Merci pour ton aide rastapopoulos,
    J'ai créer une contrainte sur 3 champs en ignorant la duplication de clés et ca fonctionne.
    Je reconnais que mon exposé des faits n'était pas clair.
    Merci encore et surement à une prchaine

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 26/03/2007, 16h52
  2. [Conception] Comment mettre à jour en ligne un page ?
    Par DrJul dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/10/2006, 18h12
  3. Réponses: 1
    Dernier message: 15/09/2006, 11h24
  4. Comment mettre à jour une date ?
    Par Hokagge dans le forum MFC
    Réponses: 6
    Dernier message: 22/03/2006, 12h30
  5. Comment mettre invisible une LIGNE d'un DBGrid ???
    Par EssaiEncore dans le forum Composants VCL
    Réponses: 16
    Dernier message: 07/01/2006, 02h05

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