2012-06-22 12 views
9

Obecnie próbuję skopiować dane z tabeli do innej przy użyciu kwerendy SELECT INTO. Ale otrzymuję błąd w SQL Server.SQL SELECT INTO z połączeniem, błąd "W bazie danych znajduje się już obiekt o nazwie" ***** "."

"Msg 2714, poziom 16, Stan 6, wiersz 2 Istnieje już obiekt o nazwie" Produkt "w bazie danych."

Im nadal bardzo nowe sql. To jest skrypt SQL, który utworzyłem, aby wykonać zadanie.

BEGIN TRANSACTION 
SELECT d.[PDate] 
     ,d.[SDate] 
     ,d.[UseDRM] 
     ,d.[CreatedBy] 
     ,d.[CreatedDate] 
     ,d.[UpdatedBy] 
     ,d.[UpdatedDate] 
INTO [******].[dbo].[Product] 
FROM [******].[dbo].[ProductTypeData] AS d 
JOIN [******].[dbo].[Product] AS t 
ON d.ProductTypeDataID = t.ProductTypeDataID 
ROLLBACK TRANSACTION 

Te kolumny zostały już utworzone w tabeli docelowej, ale obecnie są puste. Każda pomoc jest bardzo doceniana.

+1

SQL jest językiem. Biorąc pod uwagę komunikat o błędzie, * zgadłem * jesteś na serwerze SQL i dodałeś ten tag. Jeśli jest niepoprawny, zmodyfikuj tagi, aby wskazać, który produkt bazy danych jest używany. –

Odpowiedz

16

SELECT INTO służy do tworzenia tabeli na podstawie posiadanych danych.

Utworzoną już tabelę należy użyć INSERT INTO.

E.g.

INSERT INTO table2 (co1, col2, col3) 
SELECT col1, col2, col3 
FROM table1 
+2

Wczoraj znalazłem twoje rozwiązanie i z wdzięcznością go użyłem. Dziś znowu popełniłem ten sam błąd, zastanawiając się, jak to zrobiłem wczoraj, podałem go i ponownie znalazłem odpowiedź. Zrobiłbym to po raz drugi! :)) – rinukkusu

2

Opcja Wybierz służy do utworzenia nowej tabeli.

Zamiast tego można użyć

INSERT INTO table1 (col1, col2, col3) 
SELECT col1, col2, col3 
FROM table2 
Powiązane problemy