WAITFOR TIME and WAITFOR DELAY

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

          A. 使用 WAITFOR TIME

          以下示例在晚上 10:20 (22:20) 執(zhí)行存儲過程 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

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

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

          C. 對 WAITFOR DELAY 使用局部變量

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

          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

          主站蜘蛛池模板: 黑龙江省| 大城县| 台南市| 杭锦后旗| 梅州市| 建湖县| 南充市| 永昌县| 错那县| 托里县| 永和县| 亳州市| 独山县| 玉林市| 富民县| 青川县| 汉川市| 四平市| 宁城县| 永仁县| 岳阳县| 营口市| 陇南市| 民县| 新巴尔虎右旗| 察隅县| 芜湖市| 大埔区| 两当县| 响水县| 全州县| 望奎县| 若羌县| 新昌县| 清镇市| 平遥县| 敖汉旗| 桂阳县| 大渡口区| 石台县| 新密市|