खोज…


टिप्पणियों

अस्थायी टेबल वास्तव में बहुत सहायक हैं।

तालिका को रनटाइम पर बनाया जा सकता है और वे सभी ऑपरेशन कर सकते हैं जो एक सामान्य तालिका में किए जाते हैं।

ये टेबल एक टेम्पर्ड डेटाबेस में बनाई गई हैं।

कब इस्तेमाल किया?

  1. हमें कॉम्प्लेक्स जॉइन ऑपरेशन करना होगा।

  2. हम संग्रहीत प्रक्रियाओं में बड़ी संख्या में पंक्ति हेरफेर करते हैं।

  3. कर्सर के उपयोग को प्रतिस्थापित कर सकता है।

इस प्रकार प्रदर्शन को बढ़ाता है।

स्थानीय अस्थायी तालिका

  • तब तक उपलब्ध रहेगा जब तक वर्तमान कनेक्शन उपयोगकर्ता के लिए बना रहता है।

    उपयोगकर्ता के डिस्कनेक्ट होने पर स्वचालित रूप से हटा दिया गया।

    नाम की शुरुआत # (# टैम्प) से होनी चाहिए

     CREATE TABLE #LocalTempTable(
                    StudentID      int,
                    StudentName    varchar(50), 
                    StudentAddress varchar(150))
    
insert into #LocalTempTable values ( 1, 'Ram','India');

select * from #LocalTempTable

इन सभी कथनों को निष्पादित करने के बाद यदि हम क्वेरी विंडो को बंद करते हैं और इसे फिर से खोलते हैं और सम्मिलित करने का प्रयास करते हैं और इसे चुनते हैं तो एक त्रुटि संदेश दिखाई देगा

“Invalid object name #LocalTempTable”

वैश्विक अस्थायी तालिका

  • ## (## अस्थायी) के साथ शुरू होगा।

    केवल तभी हटाया जाएगा जब उपयोगकर्ता सभी कनेक्शन काट देगा।

    यह एक स्थायी तालिका की तरह व्यवहार करता है।

    CREATE TABLE ##NewGlobalTempTable(
                   StudentID      int,
                   StudentName    varchar(50), 
                   StudentAddress varchar(150))
    
    Insert Into ##NewGlobalTempTable values ( 1,'Ram','India');
    Select * from ##NewGlobalTempTable
    

नोट: ये डेटाबेस के सभी उपयोगकर्ताओं द्वारा देखे जा सकते हैं, अनुमति स्तर के बावजूद।

अस्थायी टेबलों को गिरा देना

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

There is already an object named '#tempTable' in the database.

यदि आपकी क्वेरी अस्थायी सारणी बनाती है, और आप इसे एक से अधिक बार चलाना चाहते हैं, तो आपको उन्हें फिर से बनाने की कोशिश करने से पहले तालिकाओं को छोड़ना होगा। इसके लिए मूल सिंटैक्स है:

drop table #tempTable

तालिका मौजूद होने से पहले इस सिंटैक्स को निष्पादित करने की कोशिश करना (जैसे आपके सिंटैक्स के पहले भाग पर) एक और त्रुटि का कारण होगा:

Cannot drop the table '#tempTable', because it does not exist or you do not have permission.

इससे बचने के लिए, आप यह देख सकते हैं कि क्या टेबल को गिराने से पहले ही मौजूद है, जैसे:

IF OBJECT_ID ('tempdb..#tempTable', 'U') is not null DROP TABLE #tempTable


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow