sql >> Databasteknik >  >> RDS >> Sqlserver

importera data från en tabell till en annan tabell

I SQL Server 2008 kan du skriva ut din Goo.Goo-tabell i SQL Server Mgmt studio och be den att även skapa ett skript för att infoga all data genom att använda T-SQL INSERT uttalanden. Gå till objektutforskaren, högerklicka på databasen, välj "Tasks> Generate Scripts", välj den tabell du vill generera datainfogningssatserna för och se till att använda det här alternativet här:

Dessa kan sedan köras på den andra servern för att infoga tabellinnehållet. I det här fallet måste du dock hantera att infoga eventuella befintliga rader själv.

Å andra sidan, om båda servrarna är på samma nätverk kan du bara använda funktionen "Länkad server" och länka källservern till målservern och sedan använda SQL Server 2008 MERGE-satsen för att importera all data från källan srevers tabell till målservern.

I Objektutforskaren, gå till "Serverobjekt", sedan "Länkade servrar", högerklicka och "Lägg till ny länkad server" för att upprätta en anslutning mellan de två servrarna:

När servrarna är länkade kommer en enkel MERGE-sats (ny i SQL Server 2008) att låta dig slå samman data från dessa två tabeller:

MERGE 
  INTO Goo.Goo as Target
  USING Foo.Foo.dbo.Foo as Source
  ON Source.ID = Target.ID
WHEN NOT MATCHED THEN
  INSERT (field1, field2, field3)
  VALUES (source.field1, source.field2, source.field3)  
WHEN MATCHED THEN
  -- do nothing
;

Läs mer om det nya MERGE uttalandet här:

eller i SQL Server 2008 Books Online.

Marc



  1. Varför cast/konvertera från int returnerar en asterisk

  2. Hur fungerar HEXTORAW()-funktionen? Vad är algoritmen?

  3. MySQL:Kan en lagrad procedur anropa ett Java-program?

  4. MySQL Temp-tabell Infoga