Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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 23/01/2012, 14h28   #1
Invité de passage
 
Inscription : juillet 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 6
Points : 1
Points : 1
Par défaut "Copier / Coller" dans une meme table

Bonjour à tous,

Tout d'abord je tiens à le préciser, je suis ultra-débutant en SQL et mes connaissances sont forcément très basiques.

Je vais essayer d'etre clair :

Mon but est de copier certaines données d'une table ( d'AS400 pour info )
pour les coller dans la meme table mais en modifiant certains champs durant
l'operation de "collage"

En gros, voila ce que j'aimerai faire :
Code sql :
1
2
3
4
INSERT INTO matable ( champ1, champ2, champ3, champ4 ... )
WHERE champ1 = 'YYYY' and champ2 = 'XXXX'
FROM matable
WHERE champ1 = 'ZZZZ' and champ2 = 'WWWW'

Je sais qu'il ne peut y avoir de WHERE ( ici en rouge ) apres le INSERT INTO,
c'est pour vous montrer idealement ce que j'aimerais faire.

J'avais pensé un truc dans le genre :
Code sql :
1
2
3
INSERT INTO matable ( 'YYYY','XXXX',champ3,champ4 ... )
FROM matable
WHERE champ1 = 'ZZZZ' AND champ2 = 'WWWW'

Mais apparemment cela ne fonctionne pas ( sans doute erreur de ma part dans la formulation )

Précision :

Les valeurs XXXX YYYY WWWW et ZZZZ sont des valeurs numeriques.
Je ne peux pas creer de nouvelle table ( ni utiliser de table temp. ).
Idealement, je voudrais pouvoir faire cette action dans une seule procedure/instruction.

Voila, j'espere avoir été clair, veuillez m'excuser d'avance pour les mauvais choix des termes employés.

D'avance un gros merci pour le coup de main.
nicolas_ser est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h31   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 688
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 688
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Vous n'êtes pas très loin, il faut penser à écrire l'opération de sélection avant l'insertion :
Code :
1
2
3
4
5
INSERT INTO matable ( champ1, champ2, champ3, champ4, ...)
SELECT 'YYYY', 'XXXX', champ3, champ4, ...
  FROM matable
 WHERE champ1 = 'ZZZZ'
   AND champ2 = 'WWWW'
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h57   #3
Invité de passage
 
Inscription : juillet 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 6
Points : 1
Points : 1
Waldar,

Un seul mot : Merci.

Effectivement, c'était "tout bete" ...

En conclusion, il va falloir que je remette les mains dans le cambouis, je manque serieusement de pratique.

Encore une fois merci.
nicolas_ser 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 20h09.


 
 
 
 
Partenaires

Hébergement Web