2013-02-28 52 views
0

現在我開始學習oracle.some中的分區概念了。我現在如何管理分區,我試圖在Oracle中創建子分區。我得到這個錯誤如何在oracle中創建子分區?

SQL Error: ORA-14160: this physical attribute may not be specified for a table subpartition 
14160. 00000 - "this physical attribute may not be specified for a table subpartition" 
*Cause: unexpected option was encountered while parsing physical 
      attributes of a table subpartition; TABLESPACE is the only valid 
      option 
*Action: remove invalid option(s) 
*Comment: this error could have resulted from omission of a 
      terminating (right) parenthesis following the list of 
      subpartition descriptions 

相應的代碼是:提前

create table sub_pat_test(emp_name varchar2(30),job_id varchar2(30),hire_date date) 
    partition by range(hire_date) subpartition by list(job_id)(
    partition p1 values less than(to_date('01-01-2003','dd-mm-yyyy'))(
    subpartition sp1 values('HR_REP','PU_MAN'),subpartition sp11 values(default)), 

    partition p2 values less than(to_date('01-01-2004','dd-mm-yyyy'))(
    subpartition sp2 values('AC_ACCOUNT','FI_ACCOUNT') 
    subpartition sp22 values(default) 
    ) 
    partition p3 values less than(to_date('01-01-2005','dd-mm-yyyy'))(
    subpartition sp3 values('SH_CLERK','ST_CLERK') 
    subpartition sp33 values(default) 
    )) 
    partition p4 values less than(to_date('01-01-2006','dd-mm-yyyy'))(
    subpartition sp4 values('SA_MAN','PU_MAN') 
    subpartition sp44 values(default) 
    ) 
    partition p5 values less than(maxvalues)(
    subpartition sp5 values(default) 
    )) ; 

的感謝!

回答

2

有兩個錯誤 - 缺少逗號和你都提到MAXVALUEmaxvalues

create table sub_pat_test(emp_name varchar2(30),job_id varchar2(30),hire_date date) 
    partition by range(hire_date) 
    subpartition by list(job_id)(
    Partition P1 Values Less Than(To_Date('01-01-2003','dd-mm-yyyy')) 
    (
    Subpartition Sp1 Values('HR_REP','PU_MAN'), 
    Subpartition Sp11 Values(Default) 
    ), 
    Partition P2 Values Less Than(To_Date('01-01-2004','dd-mm-yyyy')) 
    (
    subpartition sp2 values('AC_ACCOUNT','FI_ACCOUNT') , 
    Subpartition Sp22 Values(Default) 
    ), 
    Partition P3 Values Less Than(To_Date('01-01-2005','dd-mm-yyyy')) 
    (
    subpartition sp3 values('SH_CLERK','ST_CLERK'), 
    subpartition sp33 values(default) 
    ), 
    Partition P4 Values Less Than(To_Date('01-01-2006','dd-mm-yyyy'))(
    subpartition sp4 values('SA_MAN','PU_MAN'), 
    subpartition sp44 values(default) 
    ), 
    partition p5 values less than(maxvalue)(
    subpartition sp5 values(default) 
    )) ; 
+0

哦..該死!!!!!哈哈謝謝你老兄! – 2013-02-28 10:12:26

0

錯誤的子分區/分區定義之間的逗號。

+0

無無我想,太.. – 2013-02-28 09:49:07

+0

雅傢伙當我添加逗號我有這個錯誤:SQL錯誤: ORA-14019:分區綁定元素必須是以下其中一個:字符串,日期時間或間隔文字,數字或MAXVALUE14019. 00000 - 「分區綁定元素必須是以下之一:字符串,日期時間或間隔文字,數字或MAXVALUE」 *原因:分區綁定列表包含無效類型的元素 (即不是數字,非空字符串,日期時間或間隔l iteral, 或MAXVALUE) *操作:確保分區綁定列表中的所有元素均爲有效類型 – 2013-02-28 09:55:16

+1

由於您已將MAXVALUE稱爲maxvalue,因此您會收到此錯誤。你已經添加了's'。看,我在這裏發佈的答案 – Incognito 2013-02-28 10:02:17

相關問題