求一高难度的触发器,求各位帮忙
需求:在ODERBUY表上建立一个触发器,在TAG字段中插入适当的标记;条件:requirement.ODERBUY 在 requirement.BUDGET 里面,并且ODERBUY表中同一商品(requirement)的数量和不超过BUDGET表中预算商品(requirement)的预算数量(amount)时,就更新TAG标记为0;ELSE使TAG标记为1。
具体如下例表
现在有两表:
BUDGET表(预算表) | ODERBUY表(进货表)
(预算的商品) amount(预算数量) |requirement(购进的商品) amount tag(是否为预算)(BIT)
A 5 | A 1 0(在预算内)
C 1 | B 5 1(不在预算内)
| A 3 0(在预算内)
| A 1 0(在预算内)
| A 1 1(不在预算内)
问题点数:30、回复次数:9Top
1 楼roy_0()回复于 2004-12-02 14:15:02 得分 0
没人说句话
自己DING下
邹建
分子少了是吗?我加就是了Top
2 楼vinsonshen(为了明天)回复于 2004-12-02 14:17:56 得分 10
:PTop
3 楼vinsonshen(为了明天)回复于 2004-12-02 14:18:18 得分 0
没电了~~Top
4 楼roy_0()回复于 2004-12-02 14:38:18 得分 0
我晕!!@ @ # # $ $ % % ^_^Top
5 楼long0104()回复于 2004-12-02 14:44:15 得分 0
upTop
6 楼roy_0()回复于 2004-12-02 15:23:49 得分 0
邹建邹建邹建邹建邹建邹建
帮帮忙忙
谢谢谢谢了
是不是这样是没法实现的?
大家也帮忙顶一下Top
7 楼zhang_yzy(六子儿)回复于 2004-12-02 16:00:26 得分 20
if not update(tag)
begin
update ODERBUY
set Tag = case when exist(select requirement
from BUDGET
where requirement=a.requirement
group by requirement
having sum(requirement)<a.amount) then 1
else 0 end
from ODERBUY a
end
Top
8 楼roy_0()回复于 2004-12-02 16:20:17 得分 0
这里是否应该这样
group by requirement
having sum(amount)<a.amount then、、、、、?Top
9 楼roy_0()回复于 2004-12-02 17:08:51 得分 0
在来一个,这个好象有点问题,请问有试过吗?Top




