2011-02-16 17 views

उत्तर

22

वे सत्र आधारित हो सकते हैं (डेटा एक प्रतिबद्धता से बचता है लेकिन डिस्कनेक्ट/रीकनेक्ट नहीं होता है)। वे ट्रांज़ेक्शन आधारित भी हो सकते हैं (एक प्रतिबद्धता के बाद डेटा गायब हो जाता है)।

create global temporary table temp_table_transaction on commit delete rows ... 

यह एक सत्र आधारित अस्थायी तालिका बनाता है::

यह एक लेनदेन आधारित अस्थायी तालिका बनाता है

create global temporary table temp_table_transaction on commit preserve rows ... 
13

आप एक temporary table आप डेटा हठ के लिए two options है बनाते हैं:

  • ON COMMIT DELETE ROWS (डिफ़ॉल्ट) और
  • ON COMMIT PRESERVE ROWS

आप एक हठ खंड निर्दिष्ट नहीं करते हैं, या ON COMMIT DELETE ROWS निर्दिष्ट , तालिका में डेटा लेन-देन-विशिष्ट होगा (इसे प्रतिबद्ध या रोलबैक पर हटा दिया जाएगा)।

यदि आप ON COMMIT PRESERVE ROWS निर्दिष्ट करते हैं, तो डेटा आपके सत्र के अंत तक रहेगा।

+0

** COMMIT ** केवल ** डेक्लेयर ** वैश्विक टेम्पलेट टेबल पर काम करता है – Stavr00

+2

@ Stavr00 वेल 'डेक्लेयर ग्लोबल टेम्पलेटरी टेबल वैध आदेश नहीं है इसलिए मुझे यकीन नहीं है कि मैं समझ रहा हूं कि आप क्या कहने की कोशिश कर रहे हैं यहाँ। –

+0

मैं अभी भी समझ नहीं पा रहा हूं कि मेरा मतलब क्या है। – Chad

5

तो तालिका "पर पंक्तियों की रक्षा के लिए प्रतिबद्ध" के साथ बनाया गया था तो डेटा रहेगा वर्तमान सत्र के अंत तक। अगर इसे "प्रतिबद्ध हटाएं पंक्तियों" के साथ बनाया गया था तो यह अगली प्रतिबद्धता या रोलबैक तक रहेगा।

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