SQL查询更新错误

时间:2013-04-01 01:34:07

标签: sql sql-server sql-update

update invd.InvoiceDetail set invd.costprice=883.75
from InvoiceDetail invd
where saleDespatchDetailID = 5

我在此查询中收到错误:

  

Msg 208,Level 16,State 1,Line 1
  无效的对象名称'invd.InvoiceDetail'。

2 个答案:

答案 0 :(得分:4)

由于您提供了别名,因此您将引用别名,因此代码应为:

update invd
set invd.costprice=883.75
from InvoiceDetail invd
where invd.saleDespatchDetailID = 5

但是由于你没有用另一个表加入表,你实际上并不需要别名。

update InvoiceDetail
set costprice=883.75
where saleDespatchDetailID = 5

答案 1 :(得分:1)

您没有加入更新,因此您可以直接执行基本的UPDATE声明。

update InvoiceDetail 
set    costprice = 883.75
where  saleDespatchDetailID = 5

以我自己的方式编写UPDATE语句,如果我在更新语句中加入表,我只使用FROM,如下所示

UPDATE a
SET    a.ColumnName = 'a'
FROM   table1 a
       INNER JOIN table2 b
            ON a.PK = b.FK
WHERE  a.Column = 'xxx'