99 votes

Comment faire pour copier une ligne d'une table SQL Server à l'autre

J'ai deux tableaux identiques et ont besoin de copier les lignes de la table à l'autre. Quelle est la meilleure façon de le faire? (J'ai besoin de programmation pour copier quelques lignes, je n'ai pas besoin d'utiliser l'utilitaire de copie en bloc).

Merci rp

127voto

Scott Nichols Points 3366

Tant qu'il n'y a pas de colonnes d'identité, vous pouvez simplement

INSERT Table2
SELECT * FROM Table1
WHERE [Conditions]

79voto

Michael Haren Points 42641

Syntaxe Alternative:

INSERT tbl (Col1, Col2, ..., ColN)
  SELECT Col1, Col2, ..., ColN
  FROM Tbl2
  WHERE ...

La requête select peut (évidemment) comprennent des expressions, des cas, des déclarations, des constantes/littéraux, etc.

40voto

ScottStonehouse Points 6513

Jarrett la réponse de crée une nouvelle table.

Scott répondre à des insertions dans une table existante avec la même structure.

Vous pouvez également insérer dans une table avec une structure différente:

INSERT Table2
(columnX, columnY)
SELECT column1, column2 FROM Table1
WHERE [Conditions]

6voto

Kaniu Points 312

"INSERT INTO DestTable SÉLECTIONNEZ * à PARTIR de SourceTable OÙ ..." fonctionne dans SQL Server.

5voto

Jarrett Meyer Points 11147
SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X