Office中国论坛/Access中国论坛

标题: 字段A*字段D=字段E [打印本页]

作者: lichun    时间: 2004-3-5 04:51
标题: 字段A*字段D=字段E
有一个SQL 表,字段A,字段B,字段C,字段D,字段E,
字段A*字段D=字段E (要在本表上计算)
我想在有有数据时自动计算字段E的值。
请问怎样能做到,我不太董SQL,请讲述一个完整的语句。或例子
谢谢[em04]

我就是SQL SERVER服务器,要写一个触发器来设定值,可是不会写能否帮忙?



[此贴子已经被作者于2004-3-5 22:21:49编辑过]


作者: zhengjialon    时间: 2004-3-5 16:39
这个结果可以在查询或视图里生成,但不能保存到表中去也就是说字段E 在表中并不需要有,可以新建一个查询或视图,语句用:select 字段A,字段B,字段C,字段D,字段A*字段D as 字段E from table
如果一定要保存在表中,只可以在窗体上记录更新后的事件过程中赋这个文本框的值:me.字段E =字段A*字段D
如果你是SQL SERVER服务器,也可写一个触发器来设字段E的值。
作者: lichun    时间: 2004-3-5 22:53
谢谢,
我就是SQL SERVER服务器,要写一个触发器来设定值,可是不会写能否帮忙?
再次谢谢。
作者: 阿罗    时间: 2004-3-11 06:39
假定你的表名是myTable,主键是id,其余字段是A,D,E。E由A和D相乘得到。如果想得到你需要的功能,可按如下方式写一个触发器:

CREATE TRIGGER myTrigger ON myTable
FOR UPDATE, INSERT
AS
UPDATE myTable SET t.E = t.A * t.D FROM test t, inserted i WHERE t.id=i.id

题外话:个人看法,你并不需要字段E,这个是冗余的。因为需要E的时候,总可以用字段A和D相乘得到。
作者: lichun    时间: 2004-3-29 03:59
谢谢,问题已解决。

[此贴子已经被作者于2004-3-28 20:00:15编辑过]






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3