| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 808 人关注过本帖
标题:这样触发器怎样写?
只看楼主 加入收藏
davyxjc
Rank: 2
等 级:论坛游民
帖 子:130
专家分:76
注 册:2009-6-30
结帖率:70.37%
收藏
 问题点数:0 回复次数:8 
这样触发器怎样写?
如生产订单ORD001,用料如下:
存货编号    宽度    应领数量     长度
0010      20     30
0020      40     50
0030      30     30
在保存此单时,要写一触发器,自动填写长度.计算方式为:应领数量*1000/宽度.
如:30*1000/20=1500
搜索更多相关主题的帖子: 触发器 
2010-09-06 16:16
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
收藏
得分:0 
直接把长度设置为计算字段就可以了,没必要写触发器
修改表结构长度字段为:长度 as 应领数量*1000/宽度
2010-09-06 17:59
king029912
Rank: 2
等 级:论坛游民
威 望:1
帖 子:74
专家分:61
注 册:2008-9-5
收藏
得分:0 
我也想知道
计算字段只能用代码实现哇
2010-09-07 07:48
davyxjc
Rank: 2
等 级:论坛游民
帖 子:130
专家分:76
注 册:2009-6-30
收藏
得分:0 
我并没有源代码,数据库已经做好了,所以只能写触发器解决.
我是要保存的时候就把长度填写到相应的字段中.
2010-09-07 09:54
dwmax
Rank: 2
等 级:论坛游民
威 望:1
帖 子:21
专家分:49
注 册:2010-9-7
收藏
得分:0 
CREATE  TRIGGER 触发器名称
   ON  
   AFTER INSERT

AS

declare @ID nvarchar(20)        --存货编号
declare @width numeric(10,2)    --宽度
declare @Count numeric(10,2)    --应领数量
declare @Length numeric(10,2)    --长度

select @ID=存货编号,@Count=应领数量,@width=宽度 from INSERTED

set @Length = @Count*1000/@width

update 表 set 长度 = @Length where 存货编号 = @ID

GO


但是我比较赞同 2楼 的方式。用触发器显得有点过了。。。

大嘴巴、大耳朵
http://www./register-dwmax%.html
2010-09-07 10:04
dwmax
Rank: 2
等 级:论坛游民
威 望:1
帖 子:21
专家分:49
注 册:2010-9-7
收藏
得分:0 
按照你说的,或许也只有写触发器了。

大嘴巴、大耳朵
http://www./register-dwmax%.html
2010-09-07 10:07
davyxjc
Rank: 2
等 级:论坛游民
帖 子:130
专家分:76
注 册:2009-6-30
收藏
得分:0 
我保存一张订单号时,要把所用的料全部计算出长度来,上面的触发器好象一次只能保存一个记录吧?
生产订单主表与子表是通过生产订单号关联的.
2010-09-07 11:21
dwmax
Rank: 2
等 级:论坛游民
威 望:1
帖 子:21
专家分:49
注 册:2010-9-7
收藏
得分:0 
保存一条和保存多条,方法都是一样的。

大嘴巴、大耳朵
http://www./register-dwmax%.html
2010-09-07 14:22
zhaoyang1008
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:30
专家分:110
注 册:2010-9-15
收藏
得分:0 
五楼正解
2010-09-19 10:27
快速回复:这样触发器怎样写?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020217 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved