2012-07-26 64 views
0

我想生成一個分區列表,而不必手動鍵入它們,我也可以選擇要創建多少個分區。 我按範圍使用分區。 請看下面的例子。生成分區名稱列表

P_PARTITION_20120830 VALUES LESS THAN ('2012-08-30') 
P_PARTITION_20120930 VALUES LESS THAN ('2012-09-30') 
P_PARTITION_20121030 VALUES LESS THAN ('2012-10-30') 
... 
and so on 

這是我到目前爲止所得到的。

select 'P_PARTITION_' || to_char(add_months(sysdate, 1),'YYYYMMDD') 
|| ' VALUES LESS THAN ' || to_char(sysdate, '(''YYYY-MM-DD'')') 
from dual; 

任何反饋將不勝感激。 謝謝。

回答

2

這將生成12個月的分區名稱。調整CONNECT BY子句中的邊界以產生您需要的數字。

select 'P_PARTITION_' || to_char(add_months(sysdate, level),'YYYYMMDD') 
|| ' VALUES LESS THAN ' || to_char(sysdate, 'YYYY-MM-DD') 
from dual 
connect by level <= 12; 
+0

太棒了!謝謝。 – mysticfalls 2012-07-26 08:10:38