2012-06-22 12 views
9

Ich versuche derzeit, Daten aus einer Tabelle in eine andere mithilfe einer SELECT INTO-Abfrage zu kopieren. Aber ich erhalte einen Fehler in SQL Server.SQL SELECT INTO-Abfrage mit einem Join, Fehler "In der Datenbank befindet sich bereits ein Objekt mit dem Namen '*****'."

"Msg 2714, Ebene 16, Status 6, Zeile 2 In der Datenbank befindet sich bereits ein Objekt mit dem Namen 'Produkt'."

Ich bin immer noch sehr neu zu sql. Dies ist das SQL-Skript, das ich für diese Aufgabe erstellt habe.

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 

Ich habe diese Spalte bereits in der Zieltabelle erstellt, aber sie sind derzeit leer. Jede Hilfe wird sehr geschätzt.

+1

SQL verwenden eine Sprache ist. Angesichts der Fehlermeldung habe ich * erraten * Sie sind auf SQL Server und hinzugefügt dieses Tag. Wenn Sie nicht korrekt sind, bearbeiten Sie Ihre Tags, um anzugeben, welches Datenbankprodukt Sie verwenden. –

Antwort

16

SELECT INTO wird verwendet, um eine Tabelle basierend auf den Daten zu erstellen, die Sie haben.

Da Sie die Tabelle bereits erstellt haben, möchten Sie INSERT INTO verwenden.

z.

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

Gestern fand ich Ihre Lösung und nutzte sie dankbar. Heute habe ich wieder den gleichen Fehler gemacht und mich gefragt, wie ich es gestern gemacht habe. Ich habe gegoogelt und bin wieder zu deiner Antwort gekommen. Würde es ein zweites Mal aufwerten! :)) – rinukkusu

2

Wählen Sie Into, um die neue Tabelle zu erstellen.

Statt dessen können Sie

INSERT INTO table1 (col1, col2, col3) 
SELECT col1, col2, col3 
FROM table2 
Verwandte Themen