2013-02-08 206 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