设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2047|回复: 4
打印 上一主题 下一主题

字段A*字段D=字段E

[复制链接]
跳转到指定楼层
1#
发表于 2004-3-5 04:51:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个SQL 表,字段A,字段B,字段C,字段D,字段E,
字段A*字段D=字段E (要在本表上计算)
我想在有有数据时自动计算字段E的值。
请问怎样能做到,我不太董SQL,请讲述一个完整的语句。或例子
谢谢[em04]

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



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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2004-3-5 16:39:00 | 只看该作者
这个结果可以在查询或视图里生成,但不能保存到表中去也就是说字段E 在表中并不需要有,可以新建一个查询或视图,语句用:select 字段A,字段B,字段C,字段D,字段A*字段D as 字段E from table
如果一定要保存在表中,只可以在窗体上记录更新后的事件过程中赋这个文本框的值:me.字段E =字段A*字段D
如果你是SQL SERVER服务器,也可写一个触发器来设字段E的值。
3#
 楼主| 发表于 2004-3-5 22:53:00 | 只看该作者
谢谢,
我就是SQL SERVER服务器,要写一个触发器来设定值,可是不会写能否帮忙?
再次谢谢。
4#
发表于 2004-3-11 06:39:00 | 只看该作者
假定你的表名是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相乘得到。
5#
 楼主| 发表于 2004-3-29 03:59:00 | 只看该作者
谢谢,问题已解决。

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-27 21:48 , Processed in 0.088469 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表