2012-07-04 12 views
7

मेरे सर्वर कोड में, मैं एक अस्थायी (नाम #temp) तालिका बनाता हूं, कुछ डेटा डालता हूं और फिर temp तालिका को हटा देता हूं। यदि 1 से अधिक उपयोगकर्ता कोड के इस खंड को चलाने के लिए थे (अस्थायी तालिका का निर्माण) समवर्ती रूप से, एसक्यूएल सर्वर 2008 प्रति उपयोगकर्ता एक temp तालिका बना देगा या यह 1 'वैश्विक' temp तालिका बना देगा? यदि यह एक टेबल है, तो मुझे लगता है कि जब मैं एक ही टेबल को एक से अधिक बार बनाया जाता है तो मुझे परेशानी होगी?एसक्यूएल सर्वर 2008, अस्थायी सारणी अद्वितीय हैं

उत्तर

8

MSDN से:

आप स्थानीय और वैश्विक अस्थायी टेबल बना सकते हैं। स्थानीय अस्थायी तालिकाओं केवल वर्तमान सत्र में दिखाई दे रहे हैं, और वैश्विक अस्थायी टेबल सभी सत्रों
के लिए दिखाई दे रहे हैं ...
तो एक स्थानीय अस्थायी तालिका एक संग्रहीत प्रक्रिया में बन जाता है या आवेदन है कि एक ही में क्रियान्वित किया जा सकता कई उपयोगकर्ताओं द्वारा समय, डेटाबेस इंजन द्वारा बनाई गई तालिकाओं को अलग-अलग उपयोगकर्ताओं को अलग करने में सक्षम होना चाहिए। डाटाबेस इंजन आंतरिक रूप से प्रत्येक स्थानीय अस्थायी तालिका नाम में संख्यात्मक प्रत्यय जोड़कर करता है। tempdb में sysobjects तालिका में संग्रहीत एक अस्थायी तालिका का पूरा नाम CREATE TABLE कथन और सिस्टम द्वारा जेनरेट किए गए संख्यात्मक प्रत्यय में निर्दिष्ट तालिका नाम से बना है। प्रत्यय की अनुमति देने के लिए, स्थानीय अस्थायी नाम के लिए निर्दिष्ट table_name 116 वर्णों से अधिक नहीं हो सकता है।

MSDN से भी
+2

: उपसर्ग एकल संख्या चिह्न (#table_name), और एक डबल संख्या चिह्न (## TABLE_NAME) के साथ उपसर्ग वैश्विक अस्थायी तालिका नामों के साथ स्थानीय अस्थायी तालिका नाम। – Eminem

संबंधित मुद्दे