SQL सर्वर में, @ तालिका, एक # तालिका और ## तालिका के बीच क्या अंतर है?एसक्यूएल सर्वर टेबल: @, # और ## के बीच क्या अंतर है?
उत्तर
#table
स्थानीय को संदर्भित करता है (केवल उस उपयोगकर्ता को दिखाई देता है जिसने इसे बनाया है) अस्थायी तालिका।
##table
एक वैश्विक (सभी उपयोगकर्ताओं के लिए दृश्यमान) अस्थायी तालिका को संदर्भित करता है।
@variableName
एक चर को संदर्भित करता है जो उसके प्रकार के आधार पर मूल्य रख सकता है।
चियर्स
#
और ##
टेबल वास्तविक टेबल अस्थायी डेटाबेस में प्रतिनिधित्व कर रहे हैं। इन तालिकाओं में इंडेक्स और आंकड़े हो सकते हैं, और एक सत्र में स्पॉक्स में पहुंचा जा सकता है (वैश्विक अस्थायी तालिका के मामले में, यह सत्रों में उपलब्ध है)।
@table एक तालिका चर है।
अधिक जानकारी के लिए: http://www.sqlteam.com/article/temporary-tables
और टेबल वैरिएबल tempDB डेटाबेस में भी लाइव होगा, अगर इसका आकार स्मृति में पकड़ने के लिए बहुत बड़ा है। –
सुनिश्चित नहीं है कि आपका उत्तर क्यों वोट दिया गया था, व्हाइनर? मैंने सोचा कि इसमें उपयोगी जानकारी है, खासकर अस्थायी डेटाबेस के बारे में ... –
शायद क्योंकि आलेख में एक त्रुटि है, जो कि उस आलेख के टिप्पणी अनुभाग में इंगित किया गया है। – Alex
मुझे एहसास है कि यह बहुत समय पहले से है, लेकिन चूंकि यह एक लिंक-केवल उत्तर है (और पहला लिंक मर चुका है), क्या इसे प्रत्येक लिंक से मुख्य टेकवेज़ के साथ अपडेट किया जा सकता है? –
मैं # टेबल और @table के बीच मतभेद पर ध्यान केंद्रित करेंगे पर एक नज़र डालें। ## तालिका एक वैश्विक अस्थायी तालिका है और SQL सर्वर का उपयोग करने के 10 से अधिक वर्षों में रिकॉर्ड के लिए मुझे अभी तक एक वैध उपयोग मामले में आना बाकी है। मुझे यकीन है कि कुछ मौजूद हैं लेकिन वस्तु की प्रकृति इसे अत्यधिक उपयोग करने योग्य IMHO बनाती है।
@marc_s द्वारा @whiner की प्रतिक्रिया बिल्कुल सही है: यह एक प्रचलित मिथक है कि तालिका चर हमेशा स्मृति में रहते हैं। डिस्क तालिका में डिस्क पर जाने और एक अस्थायी तालिका की तरह काम करने के लिए यह वास्तव में काफी आम है।
वैसे भी मैं @Astander द्वारा दिए गए लिंक का पालन करके मतभेदों के सेट पर पढ़ने का सुझाव देता हूं। अधिकांश अंतर में सीमाएं शामिल हैं जो आप @table चर के साथ नहीं कर सकते हैं।
मेरे पास 5 अलग-अलग संग्रहीत प्रक्रिया है जो गणना के विभिन्न हिस्सों को निष्पादित करती हैं और एकल परिणाम आउटपुट करती हैं। लेखा परीक्षा के लिए मैं मध्यवर्ती मूल्य देखना चाहता हूं और लेखा परीक्षक भी करता है। मैंने कुछ प्रक्रियाओं को ## टेम्पल टेबल पर डंप करने के लिए अपनी प्रक्रियाओं को समायोजित किया ताकि हम दोनों उन्हें देख सकें लेकिन उन्हें बनाए रखा नहीं जाता है (उन्हें ऑडिट के दौरान केवल आवश्यकता होती है)। आपके लिए एक वैध उपयोग केस है (IMHO!)। – RyanfaeScotland
@Ryan क्यों ## तालिका मान्य है जब आप dbo का उपयोग कर सकते थे। टिकाऊ? जब आप अपने द्वारा किए गए सभी को एक डीआरओपी स्टेटमेंट टाइप करने से बचाया जाता है तो मैं इसे वैध उपयोग केस नहीं मानता। –
मैं अपने डीबी पर ऑडिटर डीआरओपी अनुमतियां नहीं देना चाहता हूं। मैं भी वापस आने और साफ होने के बाद साफ नहीं होना चाहता हूं। एक अस्थायी तालिका के साथ वह जितनी बार चाहें उतनी बार क्वेरी चला सकता है और मुझे पता है कि जब वह किया जाता है तो वह डीबी में पदचिह्न नहीं छोड़ रहा है। – RyanfaeScotland
CREATE TABLE #t
एक तालिका पर और उस संबंध एक ही उपयोगकर्ता के लिए जो बनाता है एक और कनेक्शन अन्य कनेक्शन से तालिका #t को देखने के लिए सक्षम नहीं होगा के दौरान ही दिखाई दे रहा है बनाता है।
CREATE TABLE ##t
अन्य कनेक्शनों के लिए दृश्यमान एक अस्थायी तालिका बनाता है। लेकिन निर्माण कनेक्शन समाप्त होने पर तालिका गिरा दी जाती है।
यदि आप एक अद्वितीय वैश्विक अस्थायी तालिका की जरूरत है, एक uniqueidentifier उपसर्ग/प्रत्यय के साथ अपने स्वयं बना सकते हैं और पोस्ट निष्पादन ड्रॉप करता है, तो एक object_id अगर (.... केवल दोष यह गतिशील एसक्यूएल का उपयोग कर और स्पष्ट रूप से छोड़ने की ज़रूरत है।
- 1. एसक्यूएल और एसक्यूएल * प्लस के बीच क्या अंतर है?
- 2. वेब सर्वर और गेम सर्वर के बीच क्या अंतर है?
- 3. एसक्यूएल सर्वर दो टेबल
- 4. एसक्यूएल 2008 में वाइड और नॉनवाइड टेबल के बीच क्या अंतर है?
- 5. एसक्यूएल में "LIKE" और "=" के बीच क्या अंतर है?
- 6. अनुरोध, प्रतिक्रिया और सर्वर के बीच क्या अंतर है?
- 7. सॉकेट और सर्वर सॉकेट के बीच क्या अंतर है?
- 8. एसक्यूएल सर्वर 2000 में "db_owner" और "डेटाबेस का मालिक कौन है" के बीच क्या अंतर है?
- 9. ऑन क्लॉज के बीच अंतर और एसक्यूएल
- 10. अंतर और कहां के बीच क्या अंतर है?
- 11. एसक्यूएल सर्वर: के बीच क्रॉस शामिल हों और पूर्ण बाहरी शामिल हों क्या अंतर है?
- 12. एसक्यूएल सर्वर प्रबंधन स्टूडियो और एक्सप्रेस संस्करण के बीच क्या अंतर है?
- 13. एसक्यूएल सर्वर सीई में श्रंक और कॉम्पैक्ट के बीच क्या अंतर है?
- 14. एसक्यूएल सर्वर: इंडेक्स पुनर्निर्माण और सूचकांक पुनर्गठन के बीच क्या अंतर है?
- 15. क्या एसक्यूएल सर्वर में सी # और डेटटाइम में डेटटाइम के बीच कोई अंतर है?
- 16. एसक्यूएल सर्वर प्रमाणीकरण और विंडोज प्रमाणीकरण के बीच अंतर क्या है ..?
- 17. क्या एसक्यूएल सर्वर एक्सप्रेस (2012) और लोकलडीबी के बीच कोई अंतर है?
- 18. के बीच क्या अंतर है; और एसक्यूएल सर्वर में संग्रहीत प्रक्रिया में जाओ?
- 19. ओरेकल और माइक्रोसॉफ्ट स्कीमा के बीच क्या अंतर है?
- 20. के बीच क्या अंतर है?
- 21. टी-एसक्यूएल, एसक्यूएल सर्वर और एसक्यूएल
- 22. पावरशेल/एसक्यूएल सर्वर स्नैप के बीच/उपकरण में अंतर?
- 23. # {} $ {} और% {} के बीच क्या अंतर है?
- 24. [अपरिभाषित] और [,] के बीच क्या अंतर है?
- 25. $ और $$ के बीच क्या अंतर है?
- 26. के बीच क्या अंतर है:। और: आर !?
- 27. भिन्नता और '-' के बीच क्या अंतर है?
- 28. "$^एन" और "$ +" के बीच क्या अंतर है?
- 29. एसक्लप्लस और वर्गधारक के बीच अंतर?
- 30. एसक्यूएल - इनके बीच अंतर?
#table की आपकी परिभाषा पूरी तरह से सही नहीं है। यह उपयोगकर्ता तक सीमित नहीं है बल्कि कनेक्शन के लिए सीमित है। यदि किसी उपयोगकर्ता के पास एकाधिक कनेक्शन हैं तो यह केवल उस स्थान पर दिखाई देगा जो #table को पहली जगह बनाया गया था। –
@DavinStuder ने एक महत्वपूर्ण स्पष्टीकरण की पेशकश की है। उपयोगकर्ता बनाम तालिका के बीच अंतर।केवल मौजूदा कनेक्शन पर दिखाई देने वाली एक तालिका बहुत महत्वपूर्ण है। – mirzmaster