[Résolu] [SQL 2005] Copier les valeurs d'une table à une autre

Copier les valeurs d'une table à une autre [Résolu] [SQL 2005] - C#/.NET managed - Programmation

Marsh Posté le 10-09-2006 à 23:50:15    

Bonjour à tous,  
 
J'ai deux tables identiques dans 2 base de données différentes.  
Une des tables est vide, l'autre est pleine.  
Je voudrais copier toutes les valeurs de la table pleine vers la table vide.
 
Faut-il un script pour cela ? ou une requête suffit (le "select * into..." m'enlève toutes les primary/foreign keys. ) ?  
 
J'utilise SQL Server 2005, version Express.  
Merci beaucoup de votre aide :)


Message édité par Roodie le 12-09-2006 à 09:28:20
Reply

Marsh Posté le 10-09-2006 à 23:50:15   

Reply

Marsh Posté le 11-09-2006 à 15:59:34    

insert into table2 (liste des champs)
select liste des champs from table1

Reply

Marsh Posté le 11-09-2006 à 16:00:06    

le "into" a pour effet de détruire la table de destination et de la recréer, ont perd dont toute sa structure

Reply

Marsh Posté le 11-09-2006 à 16:16:18    

Coucou Magic Buzz :)
 
Merci bien pour ta réponse. Je ne peux pas tester tt de suite, désolé.  
Mais si "INTO" détruit la table pour la recréer, alors toutes les relations (primary/foreign keys) seront détruites. C'est bien ça ?
Merci d'avance :)

Reply

Marsh Posté le 11-09-2006 à 16:18:29    

oui, le select into détruit ta table de destination, donc toutes ses clés, ses index et contraintes.

Reply

Marsh Posté le 11-09-2006 à 17:17:55    

"SELECT INTO" efface la structure, ok.  
Mais il s'agit de "INSERT INTO". Ca efface la structure aussi ? J'ai lu qqpart que non.  
Merci bien à toi :)

Reply

Marsh Posté le 11-09-2006 à 17:22:00    

Pour "insert", le mot "into" est facultatif.
 
Dans SQL Server je ne sais pas, mais dans Sybase (qui présente beaucoup de similitudes avec SQL Server), "select into" crée une table, et tombe en erreur si la table de destination existe déjà.

Reply

Marsh Posté le 11-09-2006 à 17:49:31    

insert into n'altère pas la table de destination ni les données existantes.
 
le select into détruit la table si elle est vide, avant de la recréer. si elle contenait déjà des lignes, alors ça plante.

Reply

Marsh Posté le 11-09-2006 à 17:57:01    

Oki, c'est très clair maintenant. Je vais bientôt pouvoir tester :)
Merci beaucoup :)


Message édité par Roodie le 11-09-2006 à 17:57:12
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed