首页 新闻 会员 周边 捐助

sql数据库能否实现自动相加

0
[已解决问题] 解决于 2013-01-29 13:37

e字段等于a,b,c,d四个字段的和,abcd会无规则的插入或为空,能不能在存储abcd数据后马上得出e的值,我在vs中只要直接提取e的值

Ole_Yao的主页 Ole_Yao | 菜鸟二级 | 园豆:236
提问于:2013-01-29 10:15
< >
分享
最佳答案
0

1.第一种 在插入语句insert 表(a,b,c,d,e) values(a,b,c,d,a+b+c+d)

2.第二种 在插入前计算出e的值,insert 表(a,b,c,d,e) values(a,b,c,d,e)

奖励园豆:5
Rich.T | 老鸟四级 |园豆:3440 | 2013-01-29 10:29
其他回答(6)
0

可以实现

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-01-29 10:22
0

这类可以计算的值我们一般是不会存入数据库的,需要的时候再计算的

Dynamic-xia | 园豆:287 (菜鸟二级) | 2013-01-29 11:29
0

你做一個触发器不就可以了,新增或修改后就可以得到对应的值

maanshancss | 园豆:303 (菜鸟二级) | 2013-01-29 11:40
0

数据量,访问量不是很大的情况下,trigger 是一个不错的选择。。

jone_e | 园豆:1410 (小虾三级) | 2013-01-29 11:43
0

sqlServer 2005以后版本提供了专门的计算列类型:

CREATE TABLE TableA (A int, B int,C AS A+B  PERSISTED)
PERSISTED 表示插入的时候在计算列存储计算结果,另外一个参数表示不存储。

Oracle 语法类似
MySql好像还没有
luofer | 园豆:468 (菜鸟二级) | 2013-01-29 12:06
0

最简单的就是数据库字段设置一下,但是你说你的字段会为null

这样的话,你完全可以在程序相加好,这个你放在insert into之前执行

chenping2008 | 园豆:9836 (大侠五级) | 2013-01-29 13:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册