「SLEEP関数」または「CALL SLEEP」で指定した時間だけ、呼び出し元のプログラムを中断出来ます。
ひとつずつ例をみていきましょう。
構文
SLEEP( 中断する秒数 , 秒の単位 ) |
第2引数「秒の単位」の指定は省略しないこと!(理由は記事の最後に説明)
例)
- SLEEP( 5 , 1 ) = 5秒
- SLEEP( 5000 , 0.001 ) = 5秒
- SLEEP( 1 , 5 ) = 5秒
- SLEEP( 0.25 , 0.001 ) = 0秒 ← 設定ミスの例
使用例
data DT1;
A=1; run; data _NULL_; rc = sleep(5,1); run;
data DT2;
A=2;
run;
|
データセットDT1を作った後、5秒SLEEPさせています。
5秒後に、続きのプログラム(データセットDT2を作る処理)が行われます。
構文
CALL SLEEP( 中断する秒数 , 秒の単位 )
|
第2引数「秒の単位」の指定は省略しないこと!(理由は記事の最後に説明)
例)
- CALL SLEEP( 5 , 1 ) = 5秒
- CALL SLEEP( 5000 , 0.001 ) = 5秒
- CALL SLEEP( 1 , 5 ) = 5秒
- CALL SLEEP( 0.25 , 0.001 ) = 0秒 ← 設定ミスの例
使用例
data DT1;
A=1; run; data _NULL_; call sleep(5,1); run;
data DT2;
A=2;
run;
|
SLEEP関数の例と同様、途中で5秒プログラムを中断しています。
リファレンスに記載されていないので注意すべき点。
第2引数に設定する「秒の単位」は省略可ですが指定推奨です。理由は、、
- 環境によって「秒の単位」のデフォルトが異なる。
- また、同じ環境内でも「SLEEP関数」と「CALL SLEEP」の間で、「秒の単位」のデフォルトが異なっている場合がある。
- 例えば、ある環境ではSLEEP関数のデフォルトが「1」で、CALL SLEEPのデフォルトが「0.001」みたいなケースがある。
てことで、第2引数の「秒の単位」は指定したほうが良いです。
0 件のコメント:
コメントを投稿