2013-04-01 79 views
1
update invd.InvoiceDetail set invd.costprice=883.75 
from InvoiceDetail invd 
where saleDespatchDetailID = 5 

我在此查詢得到一個錯誤:SQL查詢更新錯誤

消息208,級別16,狀態1,行1
無效的對象名稱invd.InvoiceDetail「。

回答

4

既然你提供一個別名,你將引用的別名,所以代碼應該是:

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

但因爲你不與其他表連接表,你實際上並不需要的別名。

update InvoiceDetail 
set costprice=883.75 
where saleDespatchDetailID = 5 
+2

其實這只是一小部分我查詢,我加入這個查詢3表。..你的答案是正確的。它適用於我非常感謝。 – Gayashan

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'