我在SQL Server中创建了一个明细帐单表,但是“总价”列不会自动计算。如何更新列的公式?
公式为Total=price*quantity*(1-Discount)
。
我添加到“详细帐单”表中的信息是:
insert into Detailed_Bill (BillID, ProductID, Price, Quantity, Discount, TotalPrice)
values
('03', '003', '0','3', '0.02', '0'),
('03', '007', '0','2', '0.01', '0'),
('03', '011', '0','10', '0', '0'),
('02', '010', '0','11', '0.04', '0'),
('02', '002', '0','2', '0.01', '0'),
('01', '004', '0','1', '0.05', '0'),
('01', '009', '0','15', '0.04', '0');
我尝试的更新代码为
update Detailed_Bill
set TotalPrice = price*quantity*(1-Discount);
但是它没有显示总价,只是显示了“ 0”值。谁能帮助我解决这个问题?
答案 0 :(得分:0)
创建totalPrice
作为计算列:
alter table Detailed_Bill add TotalPrice as
(price*quantity*(1-Discount));
然后在您使用该值时对其进行计算,因此该值始终是最新的。您不会在插入中插入值。所以:
insert into Detailed_Bill (BillID, ProductID, Price, Quantity, Discount)
values . . .