我想做个缴费的系统,缴过费的状态为"已缴费",未缴费的状态为"未缴费",缴费满一年了自动变为“欠费”;
是在数据库里加个存储过程还是写到程度里?
缴费启记录时有交费时间和结束时间(满一年的时间)。

解决方案 »

  1.   

    写个作业,每天晚上跑一次。
    update table
    set  状态='欠费'
    where datadiff(YY, 交费时间,getdate())=1
    and 状态='已缴费'
      

  2.   

    可以CREATE一个JOB,如果按年缴费,一天跑一次就可以了.调用存储过程:
    CREATE PROC ExpireTime_one_year
    AS
    UPDATE table_name
    SET 状态='欠费'
    WHERE 状态='已缴费' AND DATEDIFF(DAY, 交费时间, 结束时间) > 365
      

  3.   

    把你的需求做个存储过程,然后用定时作业去调用.
    定时作业的制定企业管理器 
    --管理 
    --SQL Server代理 
    --右键作业 
    --新建作业 
    --"常规"项中输入作业名称 
    --"步骤"项 
    --新建 
    --"步骤名"中输入步骤名 
    --"类型"中选择"Transact-SQL 脚本(TSQL)" 
    --"数据库"选择执行命令的数据库 
    --"命令"中输入要执行的语句: 
                           EXEC 存储过程名 ... --该存储过程用于创建表 --确定 
    --"调度"项 
    --新建调度 
    --"名称"中输入调度名称 
    --"调度类型"中选择你的作业执行安排 
    --如果选择"反复出现" 
    --点"更改"来设置你的时间安排  
    然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行 设置方法: 
    我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.