日期:2014-05-18  浏览次数:20454 次

SQL语句 能不能自动执行?
SQL语句   能不能自动执行?
        在我数据库里面有一个会员信息表(Author),这个表里面有一个会员的积分字段(JiFen)。现在,我想在每个月的月底把这个会员信息表里的积分信息存到另一个表里面(LastMonth   ),这个表是一个临时表,作为上个月的积分统计。
        所以,我想问问各位高手,在   SQL   Server   2000   里,有没有可以自动执行   SQL   语句的方法,使我要运行的语句在每个月的最后一天执行?

create   procedure   proc_PaiMing
as
declare   @tomorrowMon   int
declare   @todayMon         int
set   @tomorrowMon   =   Month(   DateAdd(   day,   1,   GetDate()   )   )
set   @todayMon   =   Month(   GetDate()   )
if   @tomorrowMon   <>   @todayMon
    begin
        if   exists   (   select   *   from   sysobjects   where   name   =   'LastMonth '   )
            begin
                drop   table   LastMonth
                print   '-=-   LastMonth   -=-   表已删除! '
            end
        else
            print   '-=-   LastMonth   -=-   表不存在! '
        select   *   into   LastMonth   from   Author
    end
GO

        这是我写的一个存储过程,它只在每个月的最后一天执行,而我也要在这一天去调用执行它,这样很繁琐,要是忘了执行,统计又不会准确,希望各位能帮帮忙,有没有好的办法?偶在这里谢谢各位了~~
        偶积分不多了,我把我的全部的分都拿出来了!~

------解决方案--------------------
别人总结的

企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
-- "常规 "项中输入作业名称
-- "步骤 "项
--新建
-- "步骤名 "中输入步骤名
-- "类型 "中选择 "Transact-SQL 脚本(TSQL) "
-- "数据库 "选择执行命令的数据库
-- "命令 "中输入要执行的语句
--确定
-- "调度 "项
--新建调度
-- "名称 "中输入调度名称
-- "调度类型 "中选择你的作业执行安排
--如果选择 "反复出现 "
--点 "更改 "来设置你的时间安排


然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行
设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择 "自动启动 "--确定.