转自:http://www.maomao365.com/?p=5682
摘要:
下文将讲述如何在sql server建表时,设置一个计算列
计算列的应用场景:
当我们需要建立一个物料存储明细表时,此时表中会存储数量和单价,此时如果我们再放入一列“合计”,
那么会显的多余,因为合计=数量*单价
此时我们在设计表时,就可以将第三个字段设置为自动计算列。
-------------------------------
注意事项:
不可以对计算列进行插入或更新操作,否则会产生相应的异常信息
消息 271,级别 16,状态 1,第 3 行
不能修改列 "priceAll",因为它是计算列,或者是 UNION 运算符的结果。
例:
CREATE TABLE A ( shopId varchar(30) not null, qty int not NULL, price int not NULL, priceAll AS qty*price ) go insert into A(shopId,qty,price) values('A',1,2),('B',6,9),('C',8,7), ('D',9,2),('E',5,2),('F',3,2) go select * from A go truncate table A drop table A
<a href="http://www.maomao365.com/wp-content/uploads/2018/03/mssql_sqlServer_创建计算列方法.png"><img src="http://www.maomao365.com/wp-content/uploads/2018/03/mssql_sqlServer_创建计算列方法.png" alt="mssql_sqlServer_创建计算列方法" width="394" height="501" class="size-full wp-image-5683" /></a>