SQLite下执行update语句无法像SQL Server下实现join,例如:
update Product set Product.StockNumber =Product.StockNumber-BuyNumber
from Product join OrderListDetail on (Product.ID =OrderListDetail.ProductID)
join OrderList on (OrderList.ID=OrderListDetail.OrderListID)
where OrderListID='55170b21-58d2-4e6f-8821-f0a56fed9b52'
解决办法:换用replace,改写如下
replace into Product
(ID,Caption,Number,ProjectTypeCaption,BuyPrice,MeasureUnit,StockNumber)
select Product.ID,Product.Caption,Product.Number,Product.ProjectTypeCaption,Product.BuyPrice, StockNumber-BuyNumber
from Product join OrderListDetail on (Product.ID =OrderListDetail.ProductID)
join OrderList on (OrderList.ID=OrderListDetail.OrderListID)
where OrderListID='55170b21-58d2-4e6f-8821-f0a56fed9b52'
注意:Product表里的每个列都会重新赋值