1

У меня есть хранимая процедура, возвращающая некоторые результирующие наборы. Я создал таблицу, и я вставляю результаты хранимой процедуры в эту таблицу. Теперь я хочу, я хочу обновить хранимую процедуру, а также таблицу каждые 30 минут.Как обновить хранимую процедуру и таблицу автоматически каждые 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 

Любые идеи, как я мог бы достичь этого? Пример был бы более полезным.

Спасибо.

+5

Вы можете создать работу, которая ходит каждые 30 минут – Lamak

+5

Google [ 'Сервер Agent' SQL ] (http://msdn.microsoft.com/en-gb/library/ms189237.aspx) –

+1

и google почему вы shouod НИКОГДА не называете хранимые procs sp_ ​​ – HLGEM

ответ

1

Лучший anwser заключается в настройке задания, который выполняется каждые 30 минут, но вы можете сделать что-то вроде этого:

Salto: 
    Exec sp_1; 
    Waitfor Delay '00:30:00'; 
Goto Salto; 
Смежные вопросы