表结构如下:
ID Name Score
1  张三 7000
2  李四 8000
3  王五 1000
......
9999 BBB 0求教,是否能由SQL在每个月的1号自动触发存储过程?如果小弟有上万个用户.如何优化这个存储过程,如果该用户的数值减去5000小于0,如何自动通过SQL MAIL发邮件给用户?求教

解决方案 »

  1.   

    什么数据库,是ORACLE么?可以用JOB
      

  2.   

    最好是用程序实现
    如果一定要在MSSQL中的话,
    添加一个作业,每月执行一次 存储过程首先update tbname set Score= Score-5000 where Score >= 5000
    然后建立游标 as score < 5000
    游标每移动一次,就产生一个警报,该警报就去发Email,记得把间隔时间改为0分0秒
      

  3.   

    直接在sqlServer
    企业管理器   
      --管理   
      --SQL   Server代理   
      --右键作业   
      --新建作业   
      --"常规"项中输入作业名称   
      --"步骤"项   
      --新建   
      --"步骤名"中输入步骤名   
      --"类型"中选择"Transact-SQL   脚本(TSQL)"   
      --"数据库"选择执行命令的数据库   
      --"命令"中输入要执行的语句:   
    然后将SQL   Agent服务启动,并设置为自动启动,否则你的作业不会被执行   
        
      设置方法:   
      我的电脑--控制面板--管理工具--服务--右键   SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定
      

  4.   

    谢谢楼上,求教当用户的分值《5000如何自动发MAIL?