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

SQL सर्वर / Oracle :निजी अस्थायी टेबल

जैसा कि आपने खोजा है SQL सर्वर और Oracle अस्थायी तालिकाएँ मौलिक रूप से भिन्न हैं।

Oracle में वैश्विक अस्थायी तालिकाएं स्थायी वस्तुएं होती हैं जो अस्थायी सत्र विशिष्ट (या लेनदेन विशिष्ट) डेटा संग्रहीत करती हैं।

SQL सर्वर में अस्थायी तालिकाएँ अस्थायी डेटा संग्रहीत करने वाली अस्थायी वस्तुएँ हैं, जिसमें #temp_tables एक सत्र के लिए स्थानीय डेटा संग्रहीत करता है और ##temp_tables डेटा संग्रहीत करता है जो वैश्विक है। (मुझे SQL सर्वर वैश्विक अस्थायी तालिकाओं की कभी आवश्यकता नहीं पड़ी है और यह नहीं पता कि वे किस समस्या का समाधान करते हैं।) यदि #temp_table एक संग्रहीत कार्यविधि में बनाया गया था, तो संग्रहीत कार्यविधि के बाहर निकलने पर इसे हटा दिया जाएगा। अन्यथा सत्र समाप्त होने पर इसे हटा दिया जाएगा।

और नहीं, वास्तव में SQL सर्वर को Oracle की नकल करने का कोई तरीका नहीं है। आप सत्र आईडी को संग्रहीत करने वाले अतिरिक्त कॉलम के साथ एक सामान्य तालिका का उपयोग कर सकते हैं। लेकिन आपको कम लॉगिंग के संबंध में अस्थायी तालिकाओं का लाभ नहीं मिलेगा। आपको अस्थायी डेटा को मैन्युअल रूप से हटाना होगा। और समय से पहले बंद होने वाले सत्रों की सफाई से निपटें।

संपादित करें: Oracle और SQL सर्वर के बीच एक और अंतर यह है कि SQL सर्वर DDL को अन्य कथनों के साथ लेन-देन में लपेटने की अनुमति देता है। इसलिए यदि आपको बड़े लेन-देन के हिस्से के रूप में एक अस्थायी तालिका का उपयोग करने की आवश्यकता है, तो create table #table_name... बनाएं स्टेटमेंट परोक्ष रूप से create table की तरह वर्तमान लेनदेन को प्रतिबद्ध नहीं करेगा कथन Oracle में होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं सीएक्स-ओरेकल को एक क्वेरी के परिणामों को एक टुपल के बजाय एक शब्दकोश में कैसे बांध सकता हूं?

  2. जावा से Oracle इंपोर्ट कमांड चलाएँ और कंसोल आउटपुट देखें

  3. जावा - अपवाद का पहला कारण खोजें

  4. समूह के साथ एसक्यूएल फीफो क्वेरी

  5. एसक्यूएल क्वेरी एक पंक्ति वापस करने के लिए, भले ही कम से कम पैरामीटर में नहीं मिली हो