2012-01-03 17 views
0

私は別のテーブルから1つのテーブルを更新しようとしていますが、顧客レコードが存在する限り更新できますが、いくつかのエントリはありません。私は、次の挿入SQL Insert/Update Issue

SELECT * 
INTO SalBudgetCust 
FROM SalBudgetCust_temp 
WHERE NOT EXISTS (
    SELECT Customer 
    FROM SalBudgetCust 
    WHERE Customer = SalBudgetCust_temp.Customer 
) 

を実行しようとしましたが、イムは

There is already an object named 'SalBudgetCust' in the database. 

が表示イムは、この時点で立ち往生...誰もが少しguideanceを提供するだろうか?この問題を解決するには

答えて

5

SELECT INTOあなたが名前を付けたテーブルを暗黙的に作成します。代わりにINSERT INTO ... SELECT * FROM ...を使用して、既存のテーブルが使用されるようにする必要があります。

0

それは別のものに一つのテーブルのデータを挿入するための一般的な構文は、代わりにSELECT * INTOINSERT INTO ...のような

INSERT INTO SalBudgetCust SELECT * FROM SalBudgetCust_temp 
WHERE NOT EXISTS 
(
SELECT Customer FROM SalBudgetCust WHERE Customer = SalBudgetCust_temp.Customer 
) 
+0

私はちょうどそれを試してみましたが、キーワード 'FROM'の近くに誤った構文のエラーが返ってきました。 Iveはテーブル名がすべて正しいことを確認しました。 – lewiscooksey

+0

申し訳ありませんが小さな間違いです。編集しました...今すぐお試しください。 – Rahul

0

次のようになります。

NEW_TABLEは、あなたのテーブルで、
INSERT INTO new_table 
SELECT * FROM old_table 
WHERE some_condition; 

データを挿入したい場合、old_tableはデータをフェッチしているテーブルで、some_conditionは古いテーブルからデータをフェッチするための式/条件です。

order bygroup byなどの他の句を使用してもかまいません。where句以降のサブクエリも使用できます。

このSQL INSERT INTOを参照してください、それ以降のページです。