MSDE FunClub 現在までのアクセスカウント数 最終更新日 : 2000/08/08
Microsoft Data Engine FunClub
Since 2000.08.08
SQLServer7.0/MSDE 完全トレーニングテキスト(上巻)
【第3章256p 〜 257p掲載】

-- [SQL03_14.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、WAITFOR関数の例題です
--

-- ( 件処理されました)の表示を抑制する
    SET NOCOUNT ON
GO

-- これから操作する既定のデータベースを MySampleTest にします
    USE MySampleTest
GO

-- *************************************
--   同名のオブジェクトがあれば削除する
-- *************************************
    IF( (object_id('OUT') IS NOT NULL) AND
        OBJECTPROPERTY(object_id('OUT'),'IsProcedure') = 1 )
      BEGIN
             DROP PROCEDURE OUT
      END

    IF( (object_id('NOW') IS NOT NULL) AND
         OBJECTPROPERTY(object_id('NOW'),'IsProcedure') = 1 )
      BEGIN
             DROP PROCEDURE NOW
      END
GO

-- ************************************************
--    メッセージの内容を即座にクライアントに出力
-- ************************************************
    CREATE PROCEDURE OUT
             @msg varchar(80)
  AS
      RAISERROR( '%s' , 0 , 1 , @msg ) WITH NOWAIT
GO

-- ******************
--   現在時刻を表示
-- ******************
    CREATE PROCEDURE NOW
   AS
    Declare @st varchar(80)
    SELECT @st =  '現在時刻 = ' + CONVERT(varchar,GETDATE(),8)
    EXECUTE OUT  @st
GO

-- ******************
--   プログラム開始
-- ******************

-- 2秒間だけ待機します
    EXECUTE OUT '2秒間待機します'
    EXECUTE NOW
    WAITFOR DELAY '00:00:02'
    EXECUTE NOW
    PRINT ''
GO

-- ローカル変数で指定された時間だけ待機します
    DECLARE @tm datetime,@st varchar(80)
    SELECT @tm = '00:00:05' ,
           @st = '[' + CONVERT(varchar,@tm,8) + ']時間だけ待機します'
    EXECUTE OUT @st
    EXECUTE NOW
    WAITFOR DELAY @tm
    EXECUTE NOW
    PRINT ''
GO


-- 現在時刻+10秒待機する
    Declare @tm datetime
    EXECUTE OUT '10秒間待機します'
    EXECUTE NOW
    SELECT @tm = GETDATE()
    SELECT @tm = DATEADD(second,10,@tm) --10秒加算する
    WAITFOR TIME @tm
    EXECUTE NOW
GO

-- ストアドプロシージャを削除します
    DROP PROCEDURE OUT
    DROP PROCEDURE NOW
GO




技術評論社の書籍ガイドへ
上巻:ISBN4-7741-0965-7

ウィンドウを閉じる


(株)日本技術ソフト開発 責任編集:堀川 明
MSDE FunClubに関するご意見・ご要望等ございましたら、 msdefun@horikawa.ne.jp までご連絡下さい。
HOME: http://www.horikawa.ne.jp/msde/


MSDE FunClubの運営は、マイクロソフト社とは一切の関係はありません