简单SQL更新语句出错

时间:2016-07-24 15:42:57

标签: sql

我有一个简单的更新语句,但我在第二个SET语句上遇到错误:期待',',id,伪代码或变量。我看不出我做错了什么。请帮忙。

update DLprc
   set salesamt = q.salesamt, 
   set salestx = q.salestx,          <<<---- error line
   set nsales = q.nsales
from DLprc a
inner join q on a.customer = q.customer

2 个答案:

答案 0 :(得分:2)

您无需重复SET

update DLprc
   set salesamt = q.salesamt, 
       salestx = q.salestx,          
       nsales = q.nsales
from DLprc a
inner join q on a.customer = q.customer

我已经习惯了UPDATE JOIN的以下格式:

update a
   set a.salesamt = q.salesamt, 
       a.salestx = q.salestx,          
       a.nsales = q.nsales
from DLprc a
inner join q on a.customer = q.customer

答案 1 :(得分:1)

这是一个语法错误。您必须删除一些关键字:

update DLprc
   set salesamt = q.salesamt,
       salestx = q.salestx,
       nsales = q.nsales
from DLprc a
inner join q on a.customer = q.customer /* You can add more predicates here, too! */

即使有多个谓词(条件),关键字也始终使用一次。您可以为任何一个关键字添加更多语句。

为了找到语法错​​误的原因,我看看其他人如何做出语法。