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

SSIS Discussion :

Inserer un identifiant déjà existant dans la table de destination


Sujet :

SSIS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 24
    Points
    24
    Par défaut Inserer un identifiant déjà existant dans la table de destination
    Bonjour,

    j’ai des données qui proviennent d’un fichier CSV que je veux intégrer dans une base de données SqlServer.

    * Mon fichier CSV est sous la forme suivante:

    Emp_id Emp_Nom Emp_Prenom
    1 Bidule Pierre
    2 Dupontel Paul
    3 Plantin Colette

    * Ma table destination (TabDest) est sous la forme suivante.

    Emp_id | Emp_Maj | Emp_Nom | Emp_Prenom

    Emp_Maj est une colonne où je met à jour les informations suivantes: « New » ou « Modifié ».

    Nom : 092913_2112_ssisdatatra40.png
Affichages : 237
Taille : 69,8 Ko

    La Source de l'image est un tutorial que j'ai suivi: (https://mcherif.wordpress.com/2013/0...omment-page-1/ )

    dans ma conception je vérifie si l'identifiant existe, si oui j'insère un nouveau id avec Emp_Maj New, si non je fais un UPDAT de l'id existant.

    Maintenant après vérification avec le conditionnal Split si une ligne existe avec le même identifiant dans ma table je ne veux pas la modifier, je veux faire une insertion de cette ligne, sauf que au moment où je fais l’insertion, il va insérer le nombre de colonne matché avec mon Emp_id qui existent, est ce qui est logique, exemple :

    si dans ma table il y a les données suivantes :

    Emp_id Emp_Maj Emp_Nom Emp_Prenom
    2 New Dupontel Paul
    2 Modifié Dupon Paul

    et je veux insérer les données suivantes qui proviennent de mon CSV:

    2 Dupp Paule

    Je vais me retrouver avec 4 lignes dans ma table finale (c’est à dire il matche avec 2 identifiants dans la table destination) et il insere Deux lignes au lieux d’une seule ligne (ce qui est normale )comme ce qui suit:

    Emp_id Emp_Maj Emp_Nom Emp_Prenom
    2 New Dupontel Paul
    2 Modifié Dupon Paul
    2 Modifié Dupp Paule
    2 Modifié Dupp Paule

    Comment réussir à insérer qu’une seule ligne est pas les deux? c'est à dire que la ligne en question qui provient de mon fichier CSV.

    pouvez-vous m’orientez ?

    Mes remerciement par avance.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    dev
    Inscrit en
    Mai 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mai 2005
    Messages : 31
    Points : 36
    Points
    36
    Par défaut
    Peux-tu montrer ta règle sur le conditional split? Merci

    Et le merge aussi

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2018
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    ci-après une prise de capture image pour le merge join et le conditional split

    Nom : mergejoin.PNG
Affichages : 326
Taille : 115,9 Ko

    Nom : conditional.PNG
Affichages : 208
Taille : 61,6 Ko

    Pour info, j'ai réussi à avoir ce que je veux avec la solution suivante:

    quand l'id est existant je fais un sort par Emp_id en cochant l'option "remove rows with duplicate values", et je coche que les données qui proviennent du fichier CSV, lidée étant ne filtrer et laisser passer que les données qui viennent du fichier.

    Je ne sais pas si c'est la meilleurs méthode à prendre ou pas.

    Merci de votre retour.

Discussions similaires

  1. [MySQL] réponse vide alors que le champs existe dans la table, sans retour d'erreur
    Par ben_skywalker dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/02/2007, 14h20
  2. Existence dans une table d'un champ entré
    Par spleak dans le forum Access
    Réponses: 1
    Dernier message: 27/01/2007, 15h56
  3. Controle existence dans une table
    Par Daniel MOREAU dans le forum Access
    Réponses: 2
    Dernier message: 15/05/2006, 13h59
  4. Réponses: 2
    Dernier message: 06/05/2006, 22h50
  5. Réponses: 7
    Dernier message: 05/05/2006, 19h55

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