Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/06/2005, 16h06   #1
Membre habitué
 
Inscription : juillet 2002
Messages : 137
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France

Informations forums :
Inscription : juillet 2002
Messages : 137
Points : 110
Points : 110
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 ?
thomas_strass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2005, 16h52   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 451
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 451
Points : 7 567
Points : 7 567
Quelque chose comme cela ?
Code :
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
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2005, 17h49   #3
Membre habitué
 
Inscription : juillet 2002
Messages : 137
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France

Informations forums :
Inscription : juillet 2002
Messages : 137
Points : 110
Points : 110
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" ?
thomas_strass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2005, 19h00   #4
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 451
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 451
Points : 7 567
Points : 7 567
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.
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2005, 21h28   #5
Membre habitué
 
Inscription : juillet 2002
Messages : 137
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France

Informations forums :
Inscription : juillet 2002
Messages : 137
Points : 110
Points : 110
C'est bien ce que je craignais.
Merci.
thomas_strass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2005, 08h28   #6
En attente de confirmation mail
 
Inscription : novembre 2004
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 37
Points : 10
Points : 10
Salut, tu ne connais pas l'outil DTS de SQL Server ? Il te permettrait me semble-t-il de faire ceci très rapidemment.
jh0483 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2005, 11h02   #7
Membre habitué
 
Inscription : juillet 2002
Messages : 137
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France

Informations forums :
Inscription : juillet 2002
Messages : 137
Points : 110
Points : 110
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 ?
thomas_strass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2005, 15h42   #8
En attente de confirmation mail
 
Inscription : novembre 2004
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 37
Points : 10
Points : 10
ç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.
jh0483 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h01.


 
 
 
 
Partenaires

Hébergement Web