MSDE FunClub | 最終更新日 : 2000/08/08 | |
Microsoft Data Engine FunClub |
|
|
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