浏览 2359 次
锁定老帖子 主题:使用SQL Server代理新建Job
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-25
最后修改:2010-11-02
功能:借助SQL Server代理新建Job,实现新闻日/周点击量的实时更新。对比计时器,还是觉得这个较为简单。 一、事先写好的存储过程 引用 create proc UpdateHits
as declare @sql varchar(2000) set @sql = '' declare @weekday int declare @wStr varchar(20) set @wStr='' --每天0:00执行,此时系统时间已是另外一天,所以-1 set @weekday = datepart(dw,getdate())-1 set @wStr = case @weekday when 1 then 'sunday' when 2 then 'monday' when 3 then 'tuesday' when 4 then 'wednesday' when 5 then 'thursday' when 6 then 'friday' when 7 then 'saturday' end --创建周点击记录(插入日点击表有而周点击表中无的新闻ID,并将其它列置0) insert into [soco_weekPonitNews](newsId) select distinct newsId from [soco_dayPointNews] where newsId not in (select distinct newsId from [soco_weekPonitNews]) --更新所有新闻周点击 set @sql = 'update [soco_weekPonitNews] set ' set @sql = @sql + @wStr +' = (select sum(point) from [soco_dayPointNews] where [soco_dayPointNews].newsId = w.newsId) from [soco_weekPonitNews] w, [soco_dayPointNews] d where w.newsId = d.newsId ' exec sp_executesql @sql --将日点击表数据移到点击历史记录表中 insert into soco_newsPointHistory (newsId,point,pDate) select newsId,point,pDate from [soco_dayPointNews] --清空日点击表 delete from soco_dayPointNews; 二、使用SQL Server代理新建作业(以SQL Server2000为例) 1、企业管理器—>数据库服务器—>管理目录—>SQL SERVER代理—>新建—>作业 2、在弹出的“新建常规选项页”框中设置 常规:作业的属性描述(名称、所有者必须) 步骤:作业的核心,即sql语句或存储过程的调用(此处调用存储过程) 调度:作业步骤的定时执行 通知:及时对作业执行情况的反应 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |