【问题标题】:How to refresh a stored procedure and a table automatically every 30 mins?如何每 30 分钟自动刷新存储过程和表?
【发布时间】: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

有什么想法可以实现这一目标吗?一个例子会更有帮助。

谢谢。

【问题讨论】:

标签: sql-server stored-procedures scheduled-tasks sql-server-agent


【解决方案1】:

最好的答案是配置一个每 30 分钟运行一次的作业,但您也可以执行以下操作:

Salto:
    Exec sp_1;
    Waitfor Delay '00:30:00';
Goto Salto;

【讨论】:

    猜你喜欢
    • 2019-02-28
    • 2019-04-11
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2023-03-30
    • 2022-06-14
    相关资源
    最近更新 更多