我想創建一個表,並通過範圍分區,然後通過散列子分區。但我得到一個錯誤。我懷疑腳本中出了什麼問題。當我們進行範圍分區時,我們可以爲散列指定不同數量的子分區,如下面的例子(分區OTHER_1有三個子分區,而其他所有分區有兩個分區)。Oracle 11g複合分區 - 範圍|哈希
CREATE TABLE ACCOUNTHOLDER_P (id INT, purchased DATE, OBJECT_TYPE VARCHAR2(50), PHONE_NUMBER VARCHAR2(50))
PARTITION BY RANGE (OBJECT_TYPE)
SUBPARTITION BY HASH(PHONE_NUMBER) (
PARTITION PARTNER_1 VALUES LESS THAN ('||''''||'Partner%'||''''||') TABLESPACE USERS (
SUBPARTITION sp1 TABLESPACE ABC,
SUBPARTITION sp2 TABLESPACE ABC
),
PARTITION CONSUMER_1 VALUES LESS THAN ('||''''||'User%'||''''||') TABLESPACE USERS (
SUBPARTITION sp3 TABLESPACE XYZ,
SUBPARTITION sp4 TABLESPACE XYZ
),
PARTITION OTHER_1 VALUES LESS THAN (MAXVALUE) TABLESPACE USERS (
SUBPARTITION sp5 TABLESPACE KLM,
SUBPARTITION sp6 TABLESPACE KLM,
SUBPARTITION sp7 TABLESPACE KLM
));
錯誤:
SQL Error: ORA-00907: missing right parenthesis 00907. 00000 - "missing right parenthesis" *Cause:
*Action:
感謝
問候,
時代
請解釋爲什麼VALUES LESS THAN子句對於分區來說太複雜了。你試圖分裂什麼樣的實際價值? – APC
處理撇號/單引號時會帶來複雜性。以下理論適用於此。 SELECT'There'|| ''''|| 'Alan'==有Alan謝謝。 – era