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

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

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

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

我想得到这段脚本,将其做成数据库的作业,就可以完成这样的功能了
请问谁能提供这段SQL给我,先谢了
...全文
80 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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()

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧