例如有一个用户表用户名  金额
张三     100另外有一个服务表服务项目   每日费用
项目1      2
项目2      5
那么我希望每过一天的时候,张三的金额就会-2再-5.例如有一天又多了一个项目3日费用是10的话.后面每天就是-2-5-10
请问用什么方法来达到这样的效果最好呢

解决方案 »

  1.   

    但是作业是在数据库之外的,和数据库不是一个整体.
    万一sqlserver重装而维护人员又不知道有这个作业,或者换到了别的服务器上,别人又不给建作业,就可能会出现问题.
    有没有可以在数据库里面达到这个目的的方法呢.
      

  2.   

    没有JOB感觉很难实现啊 等高手了
      

  3.   

    用作业,每天定时执行,从扣费表中查出总的应扣值,到相关表中去update扣除就行了.
      

  4.   

    我的方案是在第一个表里加个时间的字段,叫开始服务日期,
    表二里在加个用户名
    然后再查询用户账户余额时判断为他服务了多久!
    写个简单的存储过程
    create pouduce test
    @leavemoney --余额
    @user_name --要查询的用户
    as--链接表,并根据现在的日期判断为该客户服务多久了,乘以每项的服务费用,得到各项服务费用明细select datediff(day,now(),开始服务日期)*日服务费用 as 服务费用小计,用户表.用户名
    into #各项服务费用明细 form 用户表
    inner join 服务表 on 服务表.用户名=用户表.用户名
    where 用户表.用户名=@user_name
    --对临时表 #各项服务费用明细 的服务费用小计求和,并赋值给临时变量
    declare @a as float --服务费用总合计
    select @a=(select  sum(服务费用小计),用户表.用户名 from #各项服务费用明细 group by 用户名)--用用户表里的金额减去服务费用总计@a就o了select 用户表.金额-@ as 余额 from 用户表
    where 用户表.用户名=@user_name我是这个思路,当然里面具体可以自己再修改下!