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

oracle 11G में सबसे पुराना विभाजन स्वचालित रूप से छोड़ें

मुझे ऐसा करने के लिए किसी ऑरैकल उपयोगिता या फ़ंक्शन के बारे में पता नहीं है। ऐसा करने के लिए आपको अपना प्रोग्राम लिखने के लिए आवश्यक जानकारी DBA_TAB_PARTITIONS या ALL_TAB_PARTITIONS दृश्यों में निम्न के समान मिल सकती है:

SELECT TABLE_OWNER, TABLE_NAME, PARTITION_NAME, HIGH_VALUE
  FROM SYS.DBA_TAB_PARTITIONS
  WHERE TABLE_OWNER = strSchema AND
        TABLE_NAME = strTable

जहां strSchema और strTable वह स्कीमा और तालिका है जिसमें आप रुचि रखते हैं। HIGH_VALUE एक लंबा फ़ील्ड है जिसमें TO_DATE फ़ंक्शन पर कॉल के लिए कोड होता है (यह मानते हुए कि आपकी तालिका दिनांक फ़ील्ड पर विभाजित है); आपको एक लंबे फ़ील्ड में HIGH_VALUE असाइन करने की आवश्यकता होगी, फिर VARCHAR2 को LONG असाइन करें ताकि वह मान प्राप्त किया जा सके जिसे कहीं भी हेरफेर किया जा सके:

lHigh_value     LONG;
strDate_clause  VARCHAR2(100);

lHigh_value := aRow.HIGH_VALUE;
strDate_clause := lHigh_value;

फिर आपको केवल यह निर्धारित करने के लिए DATE खंड से उपयुक्त फ़ील्ड निकालने की आवश्यकता है कि आपको किन विभाजनों को छोड़ना है।

साझा करें और आनंद लें।



  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. ORA-00936 लापता अभिव्यक्ति को कैसे हल करें

  3. ORA-28000:खाता लॉक हो गया है बार-बार त्रुटि हो रही है

  4. ओरेकल में वैश्विक अस्थायी तालिकाओं से बचने के तरीके

  5. ऑरैकल में चुनिंदा क्वेरी के लिए डिफ़ॉल्ट पंक्ति क्रम