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

Java Discussion :

Clone objet d'une table BD avec pièce jointe en Java ou Trigger ?


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut Clone objet d'une table BD avec pièce jointe en Java ou Trigger ?
    Bonjour,

    Je dois cloner des objets d'une table BD contenant des pièces jointes au format word.

    Pour cela je dois faire une étude si le clonage se fait en Java ou en utilisant les triggers.

    Le clonage se fait lors d'un clic sur un bouton d'une interface web. Ce clonage peux prendre du temps en raison des pièces jointes.

    Es ce que c'est recommander de faire ce clonage en java ou en trigger pour les performance ?

    Merci pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    qu'est-ce que tu appelle cloner?
    Créer une nouvelle ligne dans ta table identique à une ligne existante?

    Dans ce cas, le plus simple c'est d'utiliser le insert into select, non?


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO "table1" ("column1", "column2", ...)
    SELECT "column3", "column4", ...
    FROM "table2"

    Tout ce que tu peux faire exécuter par le sgdb est toujours plus performant que de pomper et réinjecter des données à travers ton programme.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut
    Oui, je crée une nouvelle ligne dans la meme table en tenant en compte deux chose :

    1- Modifier un attribut lors de la copie.
    2- Copier aussi les documents (qui sont sur une autre table 'document') dans la meme table.

    Sachant que une ligne de table principale peux avoir plusieurs documents (relation OneToMany)

    Citation Envoyé par tchize_ Voir le message
    qu'est-ce que tu appelle cloner?
    Créer une nouvelle ligne dans ta table identique à une ligne existante?

    Dans ce cas, le plus simple c'est d'utiliser le insert into select, non?


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO "table1" ("column1", "column2", ...)
    SELECT "column3", "column4", ...
    FROM "table2"

    Tout ce que tu peux faire exécuter par le sgdb est toujours plus performant que de pomper et réinjecter des données à travers ton programme.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    et bien, en deux requêtes SQL comme montré, c'est réglé normalement. Ca ne devrait pas prendre plus de quelques millisecondes à ton SGBD à exécuter.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut
    Deux requetes c'est a dire :

    - Requete copie d'abords les records des documents (faut avoir l'id de la table mere)

    - Requete copie table mere avec modification d'un attribut ?

    Et l'id est en auto increment

    Citation Envoyé par tchize_ Voir le message
    et bien, en deux requêtes SQL comme montré, c'est réglé normalement. Ca ne devrait pas prendre plus de quelques millisecondes à ton SGBD à exécuter.

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ben oui, t'as deux tables avec des données à dupliquer, a priori, ça fait deux requetes SQL

    Tu recopie d'abord ta table maitre en donnant un nouvel ID,

    Tu recopie ensuite ta table document en changeant la clé étrangère au passage.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut
    J'ai pu copier la table mere, mais la seconde etape (jointure) j'ai pas sur la faire avec le changement de la clé etrangere.

    Citation Envoyé par tchize_ Voir le message
    Ben oui, t'as deux tables avec des données à dupliquer, a priori, ça fait deux requetes SQL

    Tu recopie d'abord ta table maitre en donnant un nouvel ID,

    Tu recopie ensuite ta table document en changeant la clé étrangère au passage.

Discussions similaires

  1. Importation d'une table excel avec nom paramétrable
    Par mastasushi dans le forum Access
    Réponses: 4
    Dernier message: 13/02/2007, 19h20
  2. Exploiter une table Access avec Ametis(étiquettes)
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 24/05/2006, 14h04
  3. Es-ce possible de créer une table MySQL avec MS Excel
    Par pierrot10 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 16/10/2005, 06h30
  4. UPDATER le champ d'une table 1 avec le champ d'une table 2
    Par alain.dissoir dans le forum Oracle
    Réponses: 2
    Dernier message: 08/06/2005, 13h07
  5. cellule d'une table visible avec focus dans div scrollable
    Par echecetmat dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/03/2005, 10h57

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