DB2无法创建MQT表

DB2无法创建MQT表,db2,Db2,我试图在DB2 v10.5中创建DB2 MQT表,但收到以下错误消息: 意外的令牌创建表T_MQT为 在BEGIN-OF语句后找到SELECT ID、COL1、C。预期代币可能包括:。。SQLCODE=-104,SQLSTATE=42601,DRIVER=4.16.53 SQL代码:-104,SQL状态:42601 以下是我的CREATETABLE语句: CREATE TABLE T ( ID VARCHAR(128) NOT NULL, COL1

我试图在DB2 v10.5中创建DB2 MQT表,但收到以下错误消息:

意外的令牌创建表T_MQT为 在BEGIN-OF语句后找到SELECT ID、COL1、C。预期代币可能包括:。。SQLCODE=-104,SQLSTATE=42601,DRIVER=4.16.53 SQL代码:-104,SQL状态:42601

以下是我的CREATETABLE语句:

CREATE TABLE T ( ID VARCHAR(128) NOT NULL, COL1 VARCHAR(128), COL2 VARCHAR(128), COL3 VARCHAR(128), COL4 VARCHAR(128), COL5 VARCHAR(128), PRIMARY KEY (ID) ); CREATE TABLE T_MQT AS ( SELECT ID, COL1, COL2, COL3 FROM T ) DATA INITIALLY DEFERRED REFRESH IMMEDIATE SET INTEGRITY FOR T_MQT IMMEDIATE CHECKED NOT INCREMENTAL;
创建表T_MQT之间缺少分号。。。语句和SET INTEGRITY语句。

我发现原因是基表是按列组织的。所以我将sql改为

CREATE TABLE T ( ID INTEGER NOT NULL, COL1 VARCHAR(128), COL2 VARCHAR(128), COL3 VARCHAR(128), COL4 VARCHAR(128), COL5 VARCHAR(128), PRIMARY KEY (ID) ) ORGANIZE BY ROW; CREATE TABLE T_MQT ( ID, COL1, COL2, COL3 ) AS ( select ID, COL1, COL2, COL3 from T ) DATA INITIALLY DEFERRED REFRESH IMMEDIATE MAINTAINED BY SYSTEM; SET INTEGRITY FOR T_MQT IMMEDIATE CHECKED FULL ACCESS;
您使用的是什么版本的DB2?Express-C,工作组服务器版。。。。请注意,某些版本不支持MQT。