Oracle
 sql >> база данни >  >> RDS >> Oracle

Премахнете автоматично най-стария дял в oracle 11G

Не знам за помощна програма или функция на Oracle, която да прави това. Можете да намерите информацията, от която се нуждаете, за да напишете своя собствена програма, за да направите това в изгледите 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 на поле LONG, след което да присвоите LONG на VARCHAR2, за да получите стойността някъде, където може да бъде манипулирана, по начин, подобен на:

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. C#/Oracle:Посочете кодиране/набор от знаци на заявка?

  2. Динамичен дял на таблицата Oracle

  3. Изявление ACCEPT в Oracle PL SQL

  4. ORA-00904::невалиден идентификатор Проблем с програмата за зависими обекти на Hibernate

  5. Oracle getConnection бавно