SQL插入/更新问题

时间:2012-01-03 14:58:40

标签: 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.

我坚持这一点......任何人都可以提供一点指导吗?

3 个答案:

答案 0 :(得分:5)

SELECT INTO隐式创建您命名的表。您应该使用INSERT INTO ... SELECT * FROM ...,以便使用现有表。

答案 1 :(得分:0)

应该是INSERT INTO而不是SELECT * INTO ...赞

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

答案 2 :(得分:0)

将一个表的数据插入另一个表的一般语法是:

INSERT INTO new_table 
SELECT * FROM old_table 
WHERE some_condition;

其中,new_table是要插入数据的表,old_table是从中获取数据的表,some_condition是基于您从旧表中获取数据的表达式/条件。

您可以使用其他子句,例如order bygroup by,甚至可以在where子句之后使用子查询。

可以参考此SQL INSERT INTO,这是后续页面。