2012-01-03 104 views
0

我試圖從另一個表中更新一個表,即使客戶記錄存在,我也能夠更新,但有一些條目不存在。SQL插入/更新問題

爲了解決這個我試過運行以下插入

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

應該INSERT INTO代替SELECT * INTO ...像

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

我剛剛嘗試過,返回錯誤語法錯誤關鍵字'FROM'附近。我確認表名是完全正確的。 – lewiscooksey 2012-01-03 15:17:33

+0

對不起......小錯。編輯...現在嘗試。 – Rahul 2012-01-03 15:21:16

0

一般語法插入一個表的數據到另一個是:

INSERT INTO new_table 
SELECT * FROM old_table 
WHERE some_condition; 

其中,NEW_TABLE是表,你想要插入數據,old_table是從哪裏獲取數據的表,some_condition是您想要從舊錶中獲取數據的表達式/條件。

您可以使用其他子句,如order by,group by,甚至在where子句之後的子查詢。

可能指這SQL INSERT INTO和它的後續頁面。