वे कड़ाई से आवश्यक नहीं हैं - वे केवल SQL सर्वर प्रबंधन स्टूडियो के लिए इस बिंदु तक के बयानों को निष्पादित करने के लिए निर्देश हैं और फिर चलते रहें। GO
है नहीं एक टी-एसक्यूएल कीवर्ड या कुछ भी - यह सिर्फ एक निर्देश है जो एसएसएमएस में काम करता है।
कभी-कभी, आपको एक GO की आवश्यकता होती है - उदा। यदि आप किसी तालिका में एक कॉलम जोड़ते हैं, और फिर उसे फिर से चुनना चाहते हैं, तो आपको कॉलम जोड़ने और उसकी क्वेरी के बीच एक GO की आवश्यकता होगी।
उदा. यदि आप इसे निष्पादित करने का प्रयास करते हैं, तो आपको SSMS से त्रुटियाँ मिलेंगी:
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
इसमें परिणाम:
मुद्दा यह है:SSMS एक ही बार में पूरे स्टेटमेंट को सत्यापित करने का प्रयास कर रहा है, लेकिन SELECT स्टेटमेंट पर, यह लापता DateTimeStamp
के बारे में शिकायत करेगा। कॉलम।
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
GO
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
अगर आप GO
डालते हैं दो बयानों के बीच, यह काम करेगा, क्योंकि एसएसएमएस समय से पहले पूरे बयान को पार्स और सत्यापित नहीं करेगा - यह पहले भाग को करेगा, और उसके बाद केवल दूसरे को पार्स करेगा (GO
के बाद) )।
लेकिन इस तरह की स्थितियों के अलावा, GO की शायद ही कभी आवश्यकता होती है।