【发布时间】:2014-11-02 03:45:49
【问题描述】:
我有一个返回一些结果集的存储过程。我创建了一个表,并将存储过程的结果插入到该表中。现在我想要的是,我想每 30 分钟刷新一次存储过程和表。
Here is my stored proc.,
USE [my_DB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[sp_1]
@Week int = 1,
@Year int = 2014
AS
BEGIN
declare @current_week int
set @current_week = datepart (week, getdate())
while @Week <= @current_week
begin
truncate table [my_DB].[dbo].[tb_name]
insert into [my_DB].[dbo].[tb_name]
exec sp_2 @Week,@Year
select @Week as Week_Number,* from [my_DB].[dbo].[tb_name] (nolock)
set @Week = @Week + 1
end
END
有什么想法可以实现这一目标吗?一个例子会更有帮助。
谢谢。
【问题讨论】:
-
您可以创建一个每 30 分钟运行一次的作业
-
和谷歌为什么你不应该命名存储过程 sp_
-
Linux 使用 crontab,Windows 使用 AT
标签: sql-server stored-procedures scheduled-tasks sql-server-agent