| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 726 人关注过本帖
标题:在sql2000中能否使用自动触发完成条件求和,相减等操作?
只看楼主 加入收藏
jendy5566
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-3-18
结帖率:54.55%
收藏
已结贴  问题点数:20 回复次数:7 
在sql2000中能否使用自动触发完成条件求和,相减等操作?
有三个表结构如下:
一、仓储表(tab1)
仓库名(storeN)    容积volume    已用容积(volused)     上一日进货量(yesin)   
    sto1              vol1           vouse1               yes1
    sto2              vol2           vouse2               yes2
    sto3              vol3           vouse3               yes3
    ...               ...            ...                   ...
    ...               ...            ...                   ...

二、车间信息表(works)
车间名(workN)    每小时原料消耗量(matcon)   工作状态(worksta)
  workN1               matcon1                  1
  workN2               matcon2                  0
  workN3               matcon3                  1
    ...                  ...                    X
    ...                  ...                    X

三、剩余原料表(remvol)
剩余原料总量(volsum)   日期(dtime)
   volsum 1               自动获取
   volsum 2               自动获取
   volsum 3               自动获取
        ...                ....

说明:
车间信息表中的“工作状态”只有正常(1),停止工作(0),停止工作时不能统计到“全厂原料总消耗量”。
全厂原料总消耗量=matcon1+matcon3+...
全厂原料拥有量=vouse1+vouse2+vouse3+...+yes1+yes2+yes3+...
每天晚上0点对剩余原料进行统计,使用自动触发的方法
  剩余原料=全厂原料拥有量-全厂原料总消耗量
将" 剩余原料"写入  剩余原料表(remvol)的“volsum”字段中

问题是:这个触发怎么写?写到哪个表中好?
   我思考并试验了两天多,也找了好多资料都还是没能成功,望能得到各位大侠的指点。
    最好能给出代码,先谢谢了!!!
搜索更多相关主题的帖子: sql2000 消耗量 volume 
2012-08-20 22:42
jendy5566
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-3-18
收藏
得分:0 
自己先顶,谢谢了!
2012-08-20 22:42
jendy5566
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-3-18
收藏
得分:0 
没有人看见???
2012-08-21 08:41
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:20 
昨晚大家都比较困了!

做自己喜欢的事!
2012-08-21 08:47
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:0 
楼主,你的要求是:
每天晚上0点对剩余原料进行统计

这个不用写触发器,也不适合触发器。
你可以考虑使用SQL的作业,设定它自动运行的时间即可。

做自己喜欢的事!
2012-08-21 08:49
jendy5566
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-3-18
收藏
得分:0 
我昨晚想了一晚应该在SQL里写个存储过程就可能实现了,但本人从没写过存储过程,看来又得花两天时间来学习了。
有没有大侠在行的帮一下啊。。。
2012-08-21 10:05
jendy5566
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2010-3-18
收藏
得分:0 
写出来了,用sql的作业任务执行,但是好像不能写数据到remvol表中的volsum字段里???如何改正
create proc test
as
declare @matcon numeric(28,8)
declare @volused numeric(28,8)
declare @syyl numeric(28,8)
select @matcon=sum(matcon) from works
select @volused=sum(volused) from tab1
select @syyl=@volused-@matcon
update remvol set volsum=@syyl
怎么解决????
2012-08-21 23:18
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:0 
楼主,对你的代码做了一些修改,你试一试:

create proc test
as
declare @matcon numeric(28,8)
declare @volused numeric(28,8)
select @matcon=sum(matcon) from works where worksta=1
select @volused=sum(volused) from tab1
insert remvol(volsum) select @volused-@matcon

做自己喜欢的事!
2012-08-22 12:28
快速回复:在sql2000中能否使用自动触发完成条件求和,相减等操作?
数据加载中...
 
   



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

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