求一个存储过程tab1               :数据库中一张表
datatime           :tab1中的一列,存储的是时间
type               :tab1中的另一列,只能是 0或1当 type=0 并且  当前日期-datatime大于30天时, 更新type=1每5天之行一次,网上说建一个作业,然后调用存储过程就可以是不是啊!!求解!!!!!!!!!

解决方案 »

  1.   

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

  2.   

    update tab1
    set type=1 
    where type=0 and DATEDIFF(DD,GETDATE(),datatime) >30
      

  3.   

    create proc my_proc
    as
     update tab1 set type =1 where type = 0 and datediff(dd,datetime,getdate()) > 30
    go不过,最好是把当前日期传进去create proc my_proc @dt datetime
    as
     update tab1 set type =1 where type = 0 and datediff(dd,datetime,getdate()) > 30
    godeclare @dt as datetime
    set @dt = getdate()
    exec my_proc @dt