我有一张桌子
SALES(sno,comp_name,quantity,costperunit,totalcost)
提供costperunit
值后,totalcost
需要计算为"totalcost=quantity*costperunit".
我希望将'quantity'
和'costperunit'
列相乘,并将结果存储在同一个表的'totalcost'
列中。
我试过这个:
insert into SALES(totalcost) select quantity*costperunit as res from SALES
但它失败了!
有人请帮助我实现这个目标.. 在此先感谢
答案 0 :(得分:5)
尝试更新表格
UPDATE SALES SET totalcost=quantity*costperunit
答案 1 :(得分:3)
您需要使用更新。
UPDATE SALES SET totalcost=quantity*costperunit
答案 2 :(得分:2)
如果你不手动计算这个字段但是改为computed column会更好 - 所以它会自动为你计算。
您可以使用以下查询更改列:
ALTER TABLE Sales
DROP COLUMN totalcost
ALTER TABLE Sales
ADD totalcost AS quantity*costperunit
<强> DEMO 强>
答案 3 :(得分:1)
在插入新行时尝试此操作
INSERT INTO test(sno,comp_name,quantity,costperunit,totalcost)
Values (1,@comp_name,@quantity,@costperunit,@quantity*@costperunit)
答案 4 :(得分:1)
最好不要存储可以计算的字段,但是如果您愿意,可以使用SQL Server设置一个字段,以便在值存在时自动计算。