2013-02-08 150 views
1

您能否告訴我如何在DB2中創建非聚集索引?我無法找到任何相關命令。我想在三列上創建一個索引。我想:創建db2非聚集索引

CREATE INDEX IX_ACCOUNTNOTES_DATE_TYPE 
ON CPMTD.ACCOUNT_NS (ACCOUNT_ID,CREATED_DATE,NOTE_TYPE);" 

它給我的錯誤是:

DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=;;TED_DATE,NOTE_TYPE);END-OF-STATEMENT,  DRIVER=3.50.152 

    Message: An unexpected token "" was found following "". Expected tokens may include: "TED_DATE,NOTE_TYPE)".. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.50.152 

此外,創建非聚集索引命令不工作的DB2。

任何幫助將不勝感激。

謝謝。

回答

4

正常CREATE INDEX (DB2 for z/OS)CREATE INDEX (DB2 for LUW)命令應該爲你工作,

CREATE INDEX IX_ACCOUNTNOTES_DATE_TYPE 
ON CPMTD.ACCOUNT_NS (
    ACCOUNT_ID 
    ,CREATED_DATE 
    ,NOTE_TYPE 
) 

如果您複製並粘貼您的命令準確,然後在年底額外"有可能是被搞亂的東西了。

此外,DB2將所有索引創建爲非集羣。除非您使用CLUSTER選項定義新索引,否則例外情況是定義的第一個索引將爲聚簇索引:

CREATE INDEX IX_ACCOUNTNOTES_DATE_TYPE 
ON CPMTD.ACCOUNT_NS (
    ACCOUNT_ID 
    ,CREATED_DATE 
    ,NOTE_TYPE 
) 
CLUSTER 
+0

完美。謝謝 – 2013-02-08 20:24:28