अगर आप WAITFOR
. का इस्तेमाल कर रहे हैं SQL सर्वर में स्टेटमेंट, और आपको निम्न त्रुटि मिलती है, यह शायद इसलिए है क्योंकि आप इसके तर्क के रूप में एक क्वेरी प्रदान कर रहे हैं।
Msg 101, Level 15, State 1, Line 1
Query not allowed in Waitfor.
WAITFOR
कथन इसकी "प्रतीक्षा करें" अवधि के लिए प्रश्नों को स्वीकार नहीं करता है। यह केवल एक विशिष्ट समय या अंतराल को स्वीकार करता है।
दरअसल, यह RECEIVE
. को स्वीकार करता है कथन, लेकिन यह केवल सर्विस ब्रोकर संदेशों पर लागू होता है, इसलिए यदि आप सर्विस ब्रोकर संदेशों का उपयोग नहीं कर रहे हैं, तो उपरोक्त त्रुटि काफी आत्म-व्याख्यात्मक है।
उदाहरण
WAITFOR
. में गलत तरीके से किसी क्वेरी का उपयोग करने का प्रयास करने का एक उदाहरण यहां दिया गया है बयान।
WAITFOR (SELECT Delay From DelayTable);
परिणाम:
Msg 101, Level 15, State 1, Line 1 Query not allowed in Waitfor.
इस समस्या को दूर करने के लिए, आपको वास्तविक समय या समय विलंब प्रदान करना होगा।
उदाहरण के लिए, यह काम करेगा।
WAITFOR DELAY '00:00:10';
परिणाम:
Commands completed successfully. Total execution time: 00:00:09.993
इस मामले में, मैंने समय विलंब का उपयोग किया, लेकिन आप एक विशिष्ट समय का भी उपयोग कर सकते हैं।
WAITFOR TIME '10:55:40';