我有一个带有唯一索引的表订单 -
CREATE UNIQUE INDEX Idx_Date_States ON Orders(ReportDate, CustomerState, SellerState);
当我尝试在表上创建聚簇索引时,即使没有与数据库的其他连接,我也会收到访问被拒绝的异常 -
java.sql.SQLException: Access is denied in statement [SET TABLE Orders
CLUSTERED ON (ReportDate, CustomerState, SellerState)]
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)
这可能是什么问题?
答案 0 :(得分:0)
您的表必须是CACHED表,否则抛出此异常。
如果您想要给定列的唯一性,请创建PRIMARY KEY或UNIQUE约束,而不是索引。
索引不需要是UNIQUE索引就可以使其聚类。
您可以为任何索引或UNIQUE约束的列执行语句。