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

Développement de jobs Discussion :

[TDI 6.1.1] Ecrire dans 2 tables postgres avec le même id


Sujet :

Développement de jobs

  1. #1
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut [TDI 6.1.1] Ecrire dans 2 tables postgres avec le même id
    Bonjour,

    J'ai en entrée un fichier délimité avec 2 colonnes c1 et c2.

    Je voudrais dispatcher ces 2 colonnes dans 2 tables postgresql :

    table1 : recevra la colonne c1
    table2: recevra la colonne c2

    Les 2 tables postgresql ont la même clé (et la même valeur) : id_table qui est en serial pour la table1 et integer pour la table2

    Question : comment insérer id_table dans la table2.

    Merci d'avance

  2. #2
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut
    J'ai réussi (pas simple) :

    1) je lis le flux d'entrée
    2) j'écris dans la 1ère table en retirant l'id_table du tmap (sera généré automatiquement car serial)
    3) je fais un select max(id_table) + where (mes critères) qui me donne le dernier id que j'ai créé et je le stocke dans une variable globale avec tSetGlobalVar
    4) je relis le flux d'entrée
    5) j'écris dans la 2ème table en mettant dans id_table une séquence Talend qui commence au max(id_table) - (nombre de lignes insérees dans la 1ère table) + 1
    ( Numeric.sequence("s1",(Integer)(globalMap.get("max_id_prelevement")) - (Integer)(globalMap.get("tPostgresqlOutput_1_NB_LINE_INSERTED")) + 1 ,1)

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

Discussions similaires

  1. [AC-2003] ecrire dans une table nligne sur une même colonne
    Par cedill23 dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/07/2009, 18h57
  2. [MySQL] Ecrire dans une table à l'intérieur d'une boucle
    Par zigzagbe dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/08/2008, 23h40
  3. ecrire dans une table
    Par Abla23 dans le forum Zope
    Réponses: 13
    Dernier message: 27/09/2006, 09h49
  4. Réponses: 4
    Dernier message: 11/09/2006, 16h55
  5. [MySQL] ecrire dans une table une info présente dans un formulaire.
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 29/03/2006, 00h45

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