2012-06-22 2 views
9

現在、SELECT INTOクエリを使用して、テーブルから別のテーブルにデータをコピーしようとしています。 しかし、SQL Serverでエラーが発生しました。Join、Errorを持つSQL SELECT INTOクエリ "データベースに '*****'という名前のオブジェクトが既に存在します。

"メッセージ2714、レベル16、状態6、行2 データベースには既に 'Product'という名前のオブジェクトがあります。

まだ非常に新しいSQLです。 これは私が仕事をするために作成したSQLスクリプトです。

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 

私はすでに宛先表にこれらの列を作成していますが、現在は空です。 何か助けていただければ幸いです。

+1

SQL言語で使用できます。エラーメッセージが表示されたら、私はあなたがSQL Server上にいると推測して、そのタグを追加しました。間違っている場合は、使用しているデータベース製品を示すタグを編集してください。 –

答えて

16

SELECT INTOは、使用しているデータに基づいてテーブルを作成するために使用されます。

既にテーブルを作成しているので、INSERT INTOを使用します。

など。

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

昨日私はあなたの解決策を見つけ、それを感謝して使用しました。今日私は同じ실수をもう一度やって、私が昨日どのようにしたのか疑問に思った。それをもう一度upvoteだろう! :)) – rinukkusu

2

[選択]を使用して新しい表を作成します。

の代わりにあなたが

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