数据库参数:用户表users包含:weekap(当前周得分),monthap(当前月得分) 
我想在0点时进行处理,判断跨周跨月的话,把每个用户的周得分或月得分保存到另一表中。应该如何实现?

解决方案 »

  1.   

    取getdate()-1就没有跨月份的问题了吧?
      

  2.   

    企业管理器
    --管理
    --SQL Server代理
    --右键作业
    --新建作业
    --"常规"项中输入作业名称
    --"步骤"项
    --新建
    --"步骤名"中输入步骤名
    --"类型"中选择"Transact-SQL 脚本(TSQL)"
    --"数据库"选择执行命令的数据库
    --"命令"中输入要执行的语句:
                           insert into 周历史表 select weekap from 表 where DATEPART(week ,getdate())!=DATEPART(week, getdate()-1)
                           insert into 月历史表 select weekap from 表 where DATEPART(month,getdate())!=DATEPART(month,getdate()-1)
    --确定
    --"调度"项
    --新建调度
    --"名称"中输入调度名称
    --"调度类型"中选择你的作业执行安排
    --如果选择"反复出现"
    --点"更改"来设置你的时间安排
    然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法:
    我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
      

  3.   

    我建的周历史表中还包含:自动编号 帐号username 得分fhnum 周代码fhweek 所属年代码fhyear  
    sql语句该怎么写呢? insert into 周历史表 select username,weekap from 表 where DATEPART(week ,getdate())!=DATEPART(week, getdate()-1) ,DATEPART(week, getdate()-1) ,DATEPART(year, getdate()-1) ?
      

  4.   

    今日又研究了下,sql语句如下:月得分同理,为第二步骤,SQL Agent也设置完毕,就看运行情况如何了周:
    INSERT INTO tbl_dfph
          (fhnum, username)
    SELECT weekap, Username
    FROM tbl_ALLUser
    WHERE  (DATEPART(week, GETDATE()) <> DATEPART(week,GETDATE() - 1))UPDATE tbl_dfph
    SET fhtype = 0, fhorder = DATEPART(week, getdate()-1), fhyear = DATEPART(year, getdate()-1)
    WHERE fhorder is null