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

我在此查询中遇到错误:

消息 208,级别 16,状态 1,第 1 行
无效的对象名称“invd.InvoiceDetail”。

4

2 回答 2

4

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

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

但是由于您没有将表与另一个表连接起来,因此您实际上并不需要别名。

update InvoiceDetail
set costprice=883.75
where saleDespatchDetailID = 5
于 2013-04-01T01:35:06.727 回答
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'
于 2013-04-01T01:35:18.133 回答