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écisions SGBD Discussion :

Copier des lignes d'une table


Sujet :

Décisions SGBD

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Par défaut Copier des lignes d'une table
    Bonjour.
    Mon problème est assez simple dans son énoncé, mais plus compliqué à mettre en pratique .

    J'ai une table TASKS. Celle-ci a de multiples colonnes dont une concerne le Project : la colonne ProjectID.

    Ce que je voudrais faire, c'est copier toutes les lignes d'un certain Project pour un nouveau Project.

    Exemple :
    Task1 - Project A - ...
    Task 2 - Project B - ...

    Résultat :
    Task1 - Project B - ...
    Task 2 - Project B - ...

    La solution simple serait de faire un curseur pour récupérer les lignes du Projet A, puis d'insérer les nouvelles lignes pour le Project B.

    Le gros problème, c'est que la table TASKS a vraiment beaucoup de colonnes, donc je me vois mal récupérer une à une chaque valeur de chaque ligne ...


    Est-ce qqun a une idée ?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 143
    Par défaut
    Quelque chose comme cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    insert into TASKS
    (PROJECT_ID
    ,TASK_ID
    ,...)
    select 'PROJET_NOUVEAU'
    , TASK_ID
    , ...
    from TASKS
    where PROJECT_ID = 'PROJET_a_COPIER'
    P.S. Ta question serait mieux placée dans le forum Langage SQL
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Par défaut
    Tout à fait ca, sauf que je voudrais éviter de devoir énumérer les noms des colonnes, il y en a trop , ...


    PS : je fais comment pour déplacer ces messages dans la forum "Langage SQL" ?

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 143
    Par défaut
    Il est indispensable dans ce cas d'énumérer les noms de colonnes, puisque les lignes ne sont pas copiées à l'identique.
    D'ailleurs, il est recommandé d'énumérer les colonnes pour éviter des comportements non prévus si la structure des tables est modifiée.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Par défaut
    C'est bien ce que je craignais.
    Merci.

  6. #6
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 37
    Par défaut
    Salut, tu ne connais pas l'outil DTS de SQL Server ? Il te permettrait me semble-t-il de faire ceci très rapidemment.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Par défaut
    Non, je ne connais pas cet outil.

    Mais ce qu'il me faut, c'est pouvoir exécuter ce code dans des requêtes SQL, dans des procédures stockées. Est-ce que cet outil peut être appelé via ces procédures ?

  8. #8
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 37
    Par défaut
    ça je peux pas te l'affirmer, par contre ce dont je suis certain, c'est que cet outil de permet d'exécuter des requêtes SQL ou d'appeler une procédure stockée, ça j'en suis sur.

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

Discussions similaires

  1. Ordre de sélection des lignes sur une table DB2
    Par Pierre Formosa dans le forum DB2
    Réponses: 1
    Dernier message: 26/04/2006, 20h03
  2. Tri des lignes d'une Table via Formulaire
    Par kato dans le forum Access
    Réponses: 3
    Dernier message: 19/04/2006, 12h53
  3. Réponses: 14
    Dernier message: 22/09/2005, 16h49
  4. Ajout/Suppression dynamique des lignes dans une table
    Par codexomega dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/08/2005, 18h50
  5. Réponses: 4
    Dernier message: 31/05/2004, 12h26

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