सबसे पहले, एक प्रक्रिया के भीतर बनाई गई स्थानीय अस्थायी तालिकाएँ प्रक्रिया समाप्त होने के बाद हटा दी जाती हैं। BOL ऑन क्रिएट टेबल से :
यदि आपका डेटा एक्सेस कोड कनेक्शन को ठीक से खोल रहा है, संग्रहीत प्रक्रिया को कॉल कर रहा है और फिर कनेक्शन बंद कर रहा है, तो प्रक्रिया में अस्थायी तालिका प्रभावी रूप से नष्ट हो जाती है।
मैं एक और बिंदु लाने के लिए "प्रभावी रूप से" कहता हूं। मैं आपकी प्रक्रिया के अंत में अस्थायी तालिका को छोड़ने की अनुशंसा नहीं करता, हालांकि मैं अस्थायी तालिका बनाने से ठीक पहले एक चेक जोड़ूंगा और मौजूद होने पर इसे छोड़ दूंगा (उदाहरण के लिए if object_id('tempdb..#Foo') is not null
) अंत में अस्थायी तालिका को छोड़ने के खिलाफ तर्क यह है कि ड्रॉप स्टेटमेंट को कॉल करके, आप SQL सर्वर को अपनी प्रक्रिया समाप्त होने की प्रतीक्षा करते समय तालिका को नष्ट करने के लिए संसाधनों को खर्च करने के लिए मजबूर कर रहे हैं। यदि इसके बजाय, आप इसे दायरे से बाहर जाने देते हैं, तो आपकी प्रक्रिया तुरंत समाप्त हो जाती है और आप SQL सर्वर को अपने स्वयं के चयन के समय तालिका को नष्ट करने देते हैं।