SQLServerのSQLスクリプトでウエイトを掛ける方法

2018.7.1

指定時間ウエイトを掛ける

タイムアウトのテストを行うときに必要になりましたので紹介します。

遅延実行を行う場合にも使えます。

waitfor delayを使用することで、SQL スクリプト内でウエイトを掛けることが出来ます。

構文は下記のようになります。

waitfor delay 'HH:MM:SS'

指定時間ウエイトを掛けるサンプル

ウエイトを 10 秒掛けるサンプルです。

print convert(nvarchar,getdate(),114);

waitfor delay '00:00:10';

print convert(nvarchar,getdate(),114);

ウエイトを 2 時間掛けるサンプルですが、下記のように秒を省略して書くことも出来ます。

print convert(nvarchar,getdate(),114);
waitfor delay '02:00';
print convert(nvarchar,getdate(),114);

指定時間までウエイトを掛ける

先ほど紹介した delay は指定時間ウエイトを書けますが、waitfor timeを使用することで指定した時間までウエイトを掛ける事ができます。

構文は下記のようになります。

waitfor time 'HH:MM:SS'

指定時間までウエイトを掛けるサンプル

15 時までウエイトを掛けるサンプルです。

print convert(nvarchar,getdate(),114);
waitfor time '15:00:00'
print convert(nvarchar,getdate(),114);

23 時 30 分までウエイトを掛けるサンプルです。

print convert(nvarchar,getdate(),114);
waitfor time '23:30:00'
print convert(nvarchar,getdate(),114);

まとめ

指定時間ウエイトを掛けたいときは、waitfor delay 'HH:MM:SS'を使用します。

指定時間までウエイトを掛けたい場合は、waitfor time 'HH:MM:SS'を使用します。