2012-06-22 10 views
9

Attualmente sto cercando di copiare i dati dalla tabella in un'altra utilizzando una query SELECT INTO. Ma sto ricevendo un errore in SQL Server.SQL SELECT INTO query con un join, errore "Nel database è già presente un oggetto denominato *****".

"Messaggio 2714, livello 16, stato 6, riga 2 Esiste già un oggetto denominato" Prodotto "nel database."

Im ancora molto nuovo a sql. Questo è lo script SQL che ho creato per eseguire il lavoro.

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 

Ho già creato queste colonne nella tabella di destinazione ma sono attualmente vuote. Qualsiasi aiuto è molto apprezzato.

+1

SQL è un linguaggio. Dato il messaggio di errore, ho * immaginato * che sei su SQL Server e ho aggiunto quel tag. Se non è corretto, modifica i tag per indicare il prodotto del database che stai utilizzando. –

risposta

16

SELECT INTO viene utilizzato per creare una tabella in base ai dati che si hanno.

Come già creato la tabella, si desidera utilizzare INSERT INTO.

E.g.

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

Ieri ho trovato la soluzione e l'ho usata con gratitudine. Oggi ho fatto di nuovo lo stesso errore, chiedendomi come l'ho fatto ieri, ho cercato su Google e sono tornato alla tua risposta. Lo svaligerei una seconda volta! :)) – rinukkusu

2

Select Into è utilizzato per creare la nuova tabella.

Invece di che è possibile utilizzare

INSERT INTO table1 (col1, col2, col3) 
SELECT col1, col2, col3 
FROM table2 
Problemi correlati