프로그래밍/DB

[DB] MSSQL Sleep처리방법(waitfor delay)

ss-pro 2020. 12. 20. 19:42
반응형

프로시저,트리거등 쿼리문작업이 Sleep을 주고 싶은경우가 있습이다. 프로그램에서는 sleep을 사용하지만 mssql에서는 waitfor delay명령을 사용하여 특정시간동안 대기시킬수 있습니다.  msdn으로 검색해보면 아래와 같은 구문으로 사용하하는법을 알수있습니다. 

1. 특정시간 딜레이 : WAITFOR DELAY 
밀리세컨드단위와 초단위로 딜레이를 줘보겠습니다. waitfor dealy '0:0:0:100' 으로 실행한것을 볼수 있는데 '시:분:초:밀리세컨드' 형식으로 딜레이를 주는것을 볼수있습니다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
    100m/s대기
*/
print  convert(varchar(30),getdate(),126)
waitfor delay '0:0:0:100'
print  convert(varchar(30),getdate(),126)
 
print '-----------------------------------'
/*
    5초대기
*/
print  convert(varchar(30),getdate(),126)
waitfor delay '0:0:5'
print  convert(varchar(30),getdate(),126)
 

스크립트결과입니다. 

2.특정시간에 실행 : WAITFOR TIME
WAITFOR TIME을 사용해서 특정시간에 해당작업을 실행시킬수있습니다.  WAIT FOR 다음 시간을 지정하면 해당시점에 쿼리문을 동작시킬수 있습니다. 

출처 및 참고) 보다자세한 내용을 보려면 아래 MSDN링크를 참고하시기 바랍니다.
WAITFOR (Transact-SQL) - SQL Server | Microsoft Docs