update invd.InvoiceDetail set invd.costprice=883.75
from InvoiceDetail invd
where saleDespatchDetailID = 5
我在此查询中收到错误:
Msg 208,Level 16,State 1,Line 1
无效的对象名称'invd.InvoiceDetail'。
答案 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'