| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 266 人关注过本帖
标题:如何用触发器计算订单的毛利?
收藏  订阅  推荐  打印 
hzkjqz
Rank: 1
等级:新手上路
帖子:3
积分:138
注册:2008-9-20
如何用触发器计算订单的毛利?

请大家帮忙:
    需求:需要在签订销售订单时计算这笔订单的毛利,(在销售订单保存时,将成本和毛利体现到订单的表体项上),关键是解决如何从记载成本单价的表中取数
    困难:由于刚知道触发器有这功用,想请各位老师帮忙写一下,作为学习的例子,
    资料:
成本表
ID    产品    入库日期    数量    成本单价    库存量
1    A    2008-4-10    150    1250    91
2    A    2008-5-25    840    1540    931
3    B    2008-6-3    250    1150    100
4    A    2008-7-9    369    1300    1300
5    B    2008-8-9    700    1500    800
6    B    2008-9-15    650    1400    1450

备注:库存量每天进行修正,如今天A产品的库存是1300,则将2008.4.10的入库数修正为91(1300-369-840)

订单表
ID    客户ID    订单日期    产品    数量    报价    成本    毛利
1    585    9月20日    A    50    1350    1250    100
此表的成本用触发器从成本表中取数,取数规则:先进先出,即取4月10日,1250的成本价,并更新成本表A产品库存量为41(91-50)
搜索更多相关主题的帖子: 毛利  订单  触发器  
2008-9-20 11:20
卜酷塔
Rank: 2
来自:魅力青岛
等级:ID已被封
威望:39
帖子:2571
积分:25715
注册:2004-6-12

use 数据库名
go
if Exists(select name from sysobjects where name=test)
drop trigger test
CREATE TRIGGER test
ON 订单表
FOR INSERT
AS
declare @order varchar(200)--订单价格
declare @basic varchar(200)--成本价格
select @order=报价 from INSERTED
--------修改下面一句-----------
select @basic=select 成本 from 成本表 where id=(select id from inserted)

   insert into 订单表(‘毛利’)values(@order-@basic)


楼主再看看行不?其实既然你能看出来有问题,为什么不自己写一个呢?


好久没写了,也不知道对不对。那位给点评一下。

[ 本帖最后由 卜酷塔 于 2008-9-23 10:08 编辑 ]

觉得为时已晚的时候,恰恰是最早的时候。

2008-9-21 22:33
hzkjqz
Rank: 1
等级:新手上路
帖子:3
积分:138
注册:2008-9-20

不对吧,成本单价需要从成本表中取,至少需要建立订单表和成本表的关系(存货代码相同),请大家再指点一下,谢谢
2008-9-22 22:32
hzkjqz
Rank: 1
等级:新手上路
帖子:3
积分:138
注册:2008-9-20

偶这两天才学的,不懂啊
2008-9-25 22:06
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.053985 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved