خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
نحوه استفاده از WAITFOR در SQL Server
با استفاده WAITFOR در SP ها و اسکریپت هایی که SQL Server دارید، برای یک زمان مشخص می توانید اجرای آن را به وقفه بیندازید. مثلا اسکریپت مورد نظر شما تا یک جایی مشخصی اجرا شده و سپس به مدت معین متوقف شده و سپس کار ادامه پیدا می کند. در ادامه با مثال هایی با نحوه استفاده WAITFOR آشنا خواهید شد.
دستور WAITFOR فقط با کوئری قابل استفاده بود و با CURSOR و VIEWS قابل استفاده نیست. WAITFOR، می تواند روند کار SQL Server را کند کرده و منجر به پیغام timeout شود.
Syntax استفاده از WAITFOR به صورت زیر می باشد:
WAITFOR DELAY، برای وقفه و مکث در کوئری تا مدت زمان مشخصی مورد استفاده قرار می گیرد.
WAITFOR TIME، وقفه در اجرای کوئری تا رسیدن به زمان معینی از روز.
خب، حالا به سراغ مثال های WAITFOR همراه با DELAY و TIME می رویم.
همانطور که در دو کوئری فوق مشاهده می کنید، دو زمان متفاوت را در خروجی مشاهده خواهید کرد.
اجرای کوئری زیر، در ساعت معین و مشخص شده به طور کامل انجام می شود:
همانطور که در Result فوق هم مشاهده می کنید، اخلاف بین هر دو خروجی، 15 ثانیه می باشد تا در نهایت کوئری با موفقیت اجرا شده و به اتمام رسد.
دستور WAITFOR فقط با کوئری قابل استفاده بود و با CURSOR و VIEWS قابل استفاده نیست. WAITFOR، می تواند روند کار SQL Server را کند کرده و منجر به پیغام timeout شود.
Syntax استفاده از WAITFOR به صورت زیر می باشد:
WAITFOR (DELAY HH:MM:SS OR TIME HH:MM:SS)
WAITFOR DELAY، برای وقفه و مکث در کوئری تا مدت زمان مشخصی مورد استفاده قرار می گیرد.
WAITFOR TIME، وقفه در اجرای کوئری تا رسیدن به زمان معینی از روز.
خب، حالا به سراغ مثال های WAITFOR همراه با DELAY و TIME می رویم.
WAITFOR DELAY
کوئری زیر پس از مدت 15 ثانیه، به طور کامل اجزا می شود:SELECT GETDATE() as timethen
WAITFOR DELAY '00:00:15'
SELECT GETDATE() as timenow
همانطور که در دو کوئری فوق مشاهده می کنید، دو زمان متفاوت را در خروجی مشاهده خواهید کرد.
WAITFOR TIME
با استفاده از TIME می توانید اجرای کوئری را به زمان دیگری از روز موکول کنید.اجرای کوئری زیر، در ساعت معین و مشخص شده به طور کامل انجام می شود:
DECLARE @waitfortime DATETIME
SET @waitfortime = DATEADD(second,15,GETDATE())
SELECT GETDATE() As timethen
WAITFOR TIME @waitfortime
SELECT GETDATE() As timeNow
همانطور که در Result فوق هم مشاهده می کنید، اخلاف بین هر دو خروجی، 15 ثانیه می باشد تا در نهایت کوئری با موفقیت اجرا شده و به اتمام رسد.
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: