2012-06-22 24 views
9

Tôi hiện đang cố gắng sao chép dữ liệu từ bảng này sang bảng khác bằng cách sử dụng truy vấn SELECT INTO. Nhưng Im nhận được một lỗi trong SQL Server.Truy vấn SQL SELECT INTO với Tham gia, Lỗi "Đã có một đối tượng có tên '*****' trong cơ sở dữ liệu."

"Msg 2714, Level 16, State 6, Line 2 Đã có một đối tượng có tên 'Product' trong cơ sở dữ liệu."

Im vẫn còn rất mới đối với sql. Đây là tập lệnh SQL mà tôi đã tạo để thực hiện công việc.

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 

Tôi đã tạo cột này trong bảng đích nhưng chúng hiện đang trống. Bất kỳ trợ giúp nào được đánh giá cao.

+1

SQL là một ngôn ngữ. Với thông báo lỗi, tôi đã * đoán * bạn đang sử dụng SQL Server và đã thêm thẻ đó. Nếu không chính xác, vui lòng chỉnh sửa thẻ của bạn để cho biết bạn đang sử dụng sản phẩm cơ sở dữ liệu nào. –

Trả lời

16

SELECT INTO được sử dụng để tạo bảng dựa trên dữ liệu bạn có.

Khi bạn đã tạo bảng, bạn muốn sử dụng INSERT INTO.

Ví dụ:

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

Hôm qua tôi đã tìm thấy giải pháp của bạn và biết ơn đã sử dụng nó. Hôm nay tôi lại phạm sai lầm tương tự, tự hỏi làm thế nào tôi đã làm nó ngày hôm qua, tôi googled và đến câu trả lời của bạn một lần nữa. Sẽ upvote nó một lần thứ hai! :)) – rinukkusu

2

Chọn vào được sử dụng để tạo bảng mới.

Thay vì đó bạn có thể sử dụng

INSERT INTO table1 (col1, col2, col3) 
SELECT col1, col2, col3 
FROM table2 
Các vấn đề liên quan