2012-06-22 29 views
9

Actualmente estoy tratando de copiar datos de la tabla a otra utilizando una consulta SELECT INTO. Pero estoy recibiendo un error en SQL Server.SQL SELECCIONAR EN consulta con un Join, Error "Ya hay un objeto llamado '*****' en la base de datos."

"Msg 2714, nivel 16, estado 6, línea 2 Ya hay un objeto llamado 'Producto' en la base de datos."

Todavía soy muy nuevo en sql. Este es el script SQL que he creado para hacer el trabajo.

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 

Ya he creado estas columnas en la tabla de destino, pero en este momento están vacías. Cualquier ayuda es muy apreciada.

+1

SQL es un lenguaje. Dado el mensaje de error, he * adivinado * que está en SQL Server y agregó esa etiqueta. Si no es correcto, edite sus etiquetas para indicar qué producto de base de datos está utilizando. –

Respuesta

16

SELECCIONAR INTO se utiliza para crear una tabla basada en los datos que tiene.

Como ya ha creado la tabla, desea utilizar INSERT INTO.

E.g.

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

Ayer encontré su solución y la utilicé con gratitud. Hoy volví a cometer el mismo error, preguntándome cómo lo hice ayer, busqué en Google y volví a tu respuesta. ¡Lo recomendaría por segunda vez! :)) – rinukkusu

2

Seleccionar en se utiliza para crear la nueva tabla.

En lugar de que se pueden utilizar

INSERT INTO table1 (col1, col2, col3) 
SELECT col1, col2, col3 
FROM table2 
Cuestiones relacionadas