救急!请高手进来帮忙....

Recon 2002-05-14 10:15:33
相关表如下
用户表 UserInfo
RoleNo 用户角色编号
0 = 用户
1 = 管理员
2 = 高级用户
Account 用户账面金额
LastChargeDate 用户上次缴费日期

用户角色表 Role
RoleNo 用户角色编号
MonthlyFee 月费

需要一段SQL脚本,完成如下功能:
每天某固定时刻检测UserInfo表的非管理员用户,
当用户的上次缴费日期与当前日期相差30天以上,
将用户的账面金额减去相应的月费(根据用户的RoleNo从Role表中查到),
并将该用户的上次缴费日期改成当前日期

我想得到这段脚本,将其做成数据库的作业,就可以完成这样的功能了
请问谁能提供这段SQL给我,先谢了
...全文
31 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Recon 2002-05-14
好建议
tripofdream
回复
tripofdream 2002-05-14
建议用
dateadd(m,1,a.lastchargetime)<getdate(),因为不是每个月都是30天.
回复
ChinaOk 2002-05-14
So Good
回复
freezwy 2002-05-14
恭喜
回复
freezwy 2002-05-14
恭喜
回复
Recon 2002-05-14
哦嚎嚎哦,成功了。谢谢各位
--------------------------
UPDATE A
SET A.Account = A.Account - B.MonthlyFee,
A.LastChargeTime = GETDATE()
FROM UserInfo A, Role B
WHERE (A.Role = B.RoleNo)
AND (A.Role <> 1)
AND (DATEDIFF(DAY, A.LastChargeTime, GETDATE()) > 30)
回复
freezwy 2002-05-14
update userinfo
set account=account-role.mothlyfee
from role
where userinfo.roleno<>1 and userinfo.roleno=role.roleno and dateadd(DD,30,userinfo.lastchargedate)>getdate()
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2002-05-14 10:15
社区公告
暂无公告