bonjour,
je dispose de 2 tables ayant exactement la meme structure et je voudrais transferer un enregistrement particulier de l'une vers l'autre, comment m'y prendre de facon simple ?
Merci
bonjour,
je dispose de 2 tables ayant exactement la meme structure et je voudrais transferer un enregistrement particulier de l'une vers l'autre, comment m'y prendre de facon simple ?
Merci
Bonjour,
Ou si les tables sont vraiement identiques, avec le même nombre de champs et les champs dans le même ordre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Insert into table_dest (champ1, champ2, ..., champn) Select champ1,champ2, ...., champn from table_source where ..;
code]Insert into table_dest
Select *
from table_source
where ..;[/code]
Mais je déconseille cette dernière solution, car elle foire dès que les champs ne sont plus dans le même ordre, ou que la table source a un champ de plus que la table destination ou autre.
Evidement dans where... tu mets les la condition qui va bien pour sélection ner dans table_source l'enregistement de tes rêves.
Attention, si dans la table_dest il y a des champs auto-incrémenté, il faudra désactiver l'auto incrément avant l'insert et le réactiver après.
A+
Soazig
La plus simpliste, ne marche que si :
1> Meme nombre de champs
2 > Meme ordre de déclaration des champs dans les CREATE
3 > Les types des champs doivent etre compatibles
NB: Les champs n'ont pas besoin d'avoir les memes noms
Ce qui est en principe préconnisé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 insert into table1 Select * from table2 where 'condition sur table2'
On dirait que j'arrive aprés la bataille
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Insert into table1 ( T1_C1 , T1_C2 , ..... , T1_CX ) select T2_C1 , T2_C2 , ...... , T2_CX from table2 where 'condition sur table2'
merci beaucoup a vous deux pour vos reponses promptes
je vais essayé cela de suite ...
@ plus
Désolé je retourne a la charge !
Voila, dans une application je me sert d'une table temporaire.
Avant de la remplir je la vide
ensuite je la remplie
Code : Sélectionner tout - Visualiser dans une fenêtre à part delete from TableTampon
J'ai une interface qui propose a l'utilisateur de modifier les valeurs des champs ou de créér d'autre enregistrements. Et lorsque je veux rebalancer les données dans la table originale je fais un
Code : Sélectionner tout - Visualiser dans une fenêtre à part Insert into TableTampon ...
Mais comment faire pour transferer l'enregistrement avec l'instruction UPDATE lorsqu'il a été créé dans la table tampon ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Update Matable set ...
Syntaxe normative
Syntaxe SQL Server
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 UPDATE MaTable SET Col1 = TableTampon.Col1, Col2 = TableTampon.Col2, Col3 = TableTampon.Col3, ... WHERE ColKey = TableTampon.ColKey
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 UPDATE MaTable SET Col1 = TableTampon.Col1, Col2 = TableTampon.Col2, Col3 = TableTampon.Col3, ... FROM MaTable T INNER JOIN TableTampon TT ON T.ColKey = TT.ColKey
merci pour ta reponse SQLPRO
je pense avoir trouvé mon bonheur grace a l'instruction REPLACE qui fait exactement la meme chose que le INSERT à une difference pres : il teste si l'enregistrement existe,et s'il n'existe pas il le créé.
@ plus
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager