Oracle में अस्थायी तालिकाएँ स्थायी वस्तुएँ होती हैं जिनमें अस्थायी डेटा होता है जो सत्र स्थानीय होता है। SQL सर्वर में अस्थायी तालिकाएँ अस्थायी ऑब्जेक्ट हैं।
- SQL सर्वर में, एक वैश्विक अस्थायी तालिका में डेटा होता है जो सभी सत्रों के लिए दृश्यमान होता है। "वैश्विक अस्थायी तालिकाएं किसी भी उपयोगकर्ता और किसी भी कनेक्शन को बनाए जाने के बाद दृश्यमान होती हैं।" http://msdn.microsoft.com/en-us/library/ms186986 .aspx
- वैश्विक अस्थायी तालिकाएं अभी भी अस्थायी वस्तुएं हैं जो अनिश्चित काल तक नहीं रहती हैं, और उपयोग करने से पहले बनाने की आवश्यकता हो सकती है। "वैश्विक अस्थायी तालिकाएँ ... हटा दी जाती हैं जब तालिका का संदर्भ देने वाले सभी उपयोगकर्ता SQL सर्वर की आवृत्ति से डिस्कनेक्ट हो जाते हैं।" http://msdn.microsoft.com/en-us/library/ms186986 .aspx
मुझे लगता है कि एक स्थानीय अस्थायी तालिका, या तालिका चर, Oracle की वैश्विक अस्थायी तालिका के समान होने के सबसे करीब है, बड़ा अंतर यह है कि आपको इसे हर बार बनाना होगा।
आमतौर पर, आपके जैसे मामले में, चरण 3, अस्थायी तालिका में पंक्तियाँ जोड़ें, एक select ... into #temp_table_name ....
करके किया जाएगा। (ओरेकल के समतुल्य create table ... as select ...
) http://msdn.microsoft.com/en-us/library/ ms188029.aspx
साथ ही, आप एक संग्रहित खरीद में निम्न कार्य नहीं कर सकते:(छद्म कोड।)
begin proc
call another proc to create local temp table.
use temp table
end proc
स्थानीय अस्थायी तालिकाओं को नष्ट कर दिया जाता है जब वे संग्रहीत कार्यविधि से लौटते हैं जिससे उन्हें बनाया जाता है।
अपडेट 2014-10-14: SQL सर्वर के समानांतर डेटा वेयरहाउसव संस्करण में स्थानीय अस्थायी तालिकाओं का व्यवहार भिन्न होता है। अस्थायी तालिकाओं को संग्रहीत प्रक्रिया से बाहर निकलने पर नहीं छोड़ा जाता है, और इसके बजाय शेष सत्र के लिए मौजूदा जारी रहता है। यह व्यवहार इस पर देखा गया:
select @@version
Microsoft SQL Server 2012 - 10.0.5108.1 (X64) Jun 24 2014 20:17:02 Copyright (c) Microsoft Corporation Parallel Data Warehouse (64-bit) on Windows NT 6.2 <X64> (Build 9200: )