मुझे ऐसा करने के लिए किसी ऑरैकल उपयोगिता या फ़ंक्शन के बारे में पता नहीं है। ऐसा करने के लिए आपको अपना प्रोग्राम लिखने के लिए आवश्यक जानकारी 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 खंड से उपयुक्त फ़ील्ड निकालने की आवश्यकता है कि आपको किन विभाजनों को छोड़ना है।
साझा करें और आनंद लें।