1

J'ai une procédure stockée retournant certains ensembles de résultats. J'ai créé une table et j'insère les résultats de la procédure stockée dans cette table. Maintenant, ce que je veux, je veux rafraîchir la procédure stockée ainsi que la table toutes les 30 minutes.Comment actualiser une procédure stockée et une table automatiquement toutes les 30 minutes?

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 

Des idées comment je pourrais réaliser ceci? Un exemple serait plus utile.

Merci.

+5

Vous pouvez créer un emploi qui circule toutes les 30 minutes – Lamak

+5

Google [ 'SQL Server agent' ] (http://msdn.microsoft.com/en-gb/library/ms189237.aspx) –

+1

et google pourquoi vous shouod JAMAIS nommez les procs stockés sp_ ​​ – HLGEM

Répondre

1

La meilleure anwser est de configurer un emploi qui circule toutes les 30 minutes, mais aussi vous pouvez faire quelque chose comme ceci:

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