Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर 2005 और अस्थायी टेबल स्कोप

स्थानीय अस्थायी टेबल (# से शुरू) आपके सत्र तक सीमित हैं; अन्य सत्र, समान उपयोगकर्ता/कनेक्शन स्ट्रिंग से भी, उन्हें नहीं देख सकते हैं। जीवन भर के लिए नियम इस बात पर निर्भर करते हैं कि स्थानीय अस्थायी तालिका को संग्रहीत प्रक्रिया में बनाया गया था या नहीं:

  • एक स्थानीय अस्थायी तालिका जो संग्रहीत कार्यविधि में बनाई जाती है, प्रक्रिया समाप्त होने पर हटा दी जाती है; अन्य संग्रहीत कार्यविधियाँ, या कॉलिंग प्रक्रिया, उन्हें नहीं देख सकती हैं।
  • सत्र समाप्त होने पर अन्य स्थानीय अस्थायी तालिकाओं को हटा दिया जाता है।

वैश्विक अस्थायी तालिकाएँ (## से शुरू) सत्रों के बीच साझा की जाती हैं। उन्हें तब हटा दिया जाता है जब:

  • जिस सत्र ने उन्हें बनाया वह समाप्त हो गया
  • और कोई अन्य सत्र उनका जिक्र नहीं कर रहा है

यह आदेश यह देखने के लिए आसान हो सकता है कि कौन सी अस्थायी तालिकाएँ मौजूद हैं:

select TABLE_NAME from tempdb.information_schema.tables 

और यदि आप सुनिश्चित नहीं हैं कि वे मौजूद हैं तो अस्थायी तालिकाओं को छोड़ना आसान है:

if object_id('tempdb..#SoTest') is not null drop table #SoTest

अधिक जानकारी के लिए यह एमएसडीएन आलेख देखें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. निर्देशिका में सभी SQL फ़ाइलें चलाएँ

  2. SQL सर्वर मॉनिटरिंग के लिए जिम्मेदार DBA को प्रभावित करने वाले शीर्ष तीन रुझान

  3. INSERT INTO बनाम SELECT INTO

  4. SQL सर्वर डेटाबेस में पहचान कॉलम सूचीबद्ध करते समय टेबल और स्कीमा शामिल करना

  5. SQL सर्वर - सभी गैर-मुद्रण योग्य ASCII वर्णों को हटा दें