WAITFOR TIME and WAITFOR DELAY

          Posted on 2007-05-28 15:02 my 閱讀(1307) 評論(0)  編輯  收藏 所屬分類: 數據庫方面
           

          A. 使用 WAITFOR TIME

          以下示例在晚上 10:20 (22:20) 執行存儲過程 sp_update_job。

          USE msdb;
          EXECUTE sp_add_job @job_name = 'TestJob';
          BEGIN
          WAITFOR TIME '22:20';
          EXECUTE sp_update_job @job_name = 'TestJob',
          @new_name = 'UpdatedJob';
          END;
          GO

          B. 使用 WAITFOR DELAY

          以下示例在兩小時的延遲后執行存儲過程。

          BEGIN
          WAITFOR DELAY '02:00';
          EXECUTE sp_helpdb;
          END;
          GO

          C. 對 WAITFOR DELAY 使用局部變量

          以下示例顯示如何對 WAITFOR DELAY 選項使用局部變量。將創建一個存儲過程,該過程將等待可變的時間段,然后將經過的小時、分鐘和秒數信息返回給用戶。

          USE AdventureWorks;
          GO
          IF OBJECT_ID('dbo.TimeDelay_hh_mm_ss','P') IS NOT NULL
          DROP PROCEDURE dbo.TimeDelay_hh_mm_ss;
          GO
          CREATE PROCEDURE dbo.TimeDelay_hh_mm_ss
          (
          @DelayLength char(8)= '00:00:00'
          )
          AS
          DECLARE @ReturnInfo varchar(255)
          IF ISDATE('2000-01-01 ' + @DelayLength + '.000') = 0
          BEGIN
          SELECT @ReturnInfo = 'Invalid time ' + @DelayLength
          + ',hh:mm:ss, submitted.';
          -- This PRINT statement is for testing, not use in production.
          PRINT @ReturnInfo
          RETURN(1)
          END
          BEGIN
          WAITFOR DELAY @DelayLength
          SELECT @ReturnInfo = 'A total time of ' + @DelayLength + ',
          hh:mm:ss, has elapsed! Your time is up.'
          -- This PRINT statement is for testing, not use in production.
          PRINT @ReturnInfo;
          END;
          GO
          /* This statement executes the dbo.TimeDelay_hh_mm_ss procedure. */
          EXEC TimeDelay_hh_mm_ss '00:00:10';
          GO

          下面是結果集:

          A total time of 00:00:10, in hh:mm:ss, has elapsed. Your time is up.

          posts - 63, comments - 45, trackbacks - 0, articles - 99

          Copyright © my

          主站蜘蛛池模板: 江口县| 清徐县| 宣武区| 吉隆县| 泸水县| 深圳市| 西青区| 东莞市| 时尚| 乐安县| 内江市| 大理市| 博野县| 内黄县| 南雄市| 连州市| 双桥区| 兴义市| 米易县| 黄冈市| 汝阳县| 长宁区| 绍兴市| 静乐县| 马边| 若羌县| 铜川市| 广丰县| 集贤县| 屏东县| 普格县| 长治市| 武川县| 南召县| 台湾省| 镇赉县| 玉山县| 江都市| 安龙县| 潼关县| 玉田县|