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

Oracle Sql:प्रक्रिया जो इसके अंदर अस्थायी तालिकाएँ बना सकती है

आप सबसे पहले एक संग्रहीत कार्यविधि में एक अस्थायी तालिका क्यों बनाना चाहते हैं?

अन्य डेटाबेस (उदाहरण के लिए SQL सर्वर और MySQL) में अस्थायी तालिकाएँ बनाना अपेक्षाकृत सामान्य है। Oracle में ऐसा करना बहुत दुर्लभ है। लगभग हर मामले में जहां आप Oracle में एक अस्थायी तालिका बनाने के लिए ललचाते हैं, वहाँ एक बेहतर वास्तुशिल्प दृष्टिकोण है। DBA स्टैक पर एक थ्रेड ओवर है जो अस्थायी तालिकाओं के विकल्प और Oracle में उनकी सामान्य रूप से आवश्यकता क्यों नहीं है।

प्रोग्रामेटिक रूप से, आप डायनेमिक SQL का उपयोग करके ऑब्जेक्ट बना सकते हैं

CREATE OR REPLACE PROCEDURE dont_do_this
AS
BEGIN
  EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE a( id INTEGER )';
END;

यदि आप गतिशील रूप से एक अस्थायी तालिका बनाते हैं, हालांकि, उस तालिका के प्रत्येक संदर्भ को भी गतिशील SQL के माध्यम से होना चाहिए-- आप सरल SELECT लिखने में सक्षम नहीं होंगे टेबल के खिलाफ बयान और 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. क्या चयन के लिए एसक्यूएल% पंक्ति गणना का उपयोग करना संभव है?

  3. Oracle SQL में 2 दिनांक/समय के बीच अंतर की गणना करें

  4. एसक्यूएल का उपयोग कर एकल पंक्ति में परिणाम प्राप्त करने का प्रयास कर रहा है?

  5. Oracle SQL डेवलपर 3.1.07 listagg का उपयोग कर वर्णों के बीच अतिरिक्त स्थान