Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (A-D)

 

ALTER INDEX 语句

此语句用于重命名索引、主键或外键,或用于更改索引的聚簇性质。

语法
ALTER { INDEX index-name 
| [ INDEX ] FOREIGN KEY role-name 
| [ INDEX ] PRIMARY KEY } 
ON [ owner.]object-name { REBUILD | rename-clause | cluster-clause } }
object-name : table-name | materialized-view-name
rename-clause : RENAME { AS | TO } new-index-name
cluster-clause : CLUSTERED | NONCLUSTERED
参数
  • rename-clause   为索引、主键或外键指定新名称。

  • cluster-clause   指定索引应更改为 CLUSTERED 还是 NONCLUSTERED。一个表上只有一个索引可以是聚簇索引。

  • REBUILD 子句   此子句用于重建索引,而不是删除然后重新创建索引。

注释

ALTER INDEX 语句执行两项任务:

  • 此语句可用于重命名索引、主键或外键。

  • 还可用于将索引类型从非聚簇更改为聚簇,反之亦然。

    ALTER INDEX 语句可用于更改为索引指定的聚簇类型,但不会重新组织数据。同样,每个表或实例化视图上只有一个索引可以是聚簇索引。

ALTER INDEX 不能用于更改局部临时表上的索引。如果试图执行此操作,将导致出现 [未找到索引] 错误。

当存在使用 WITH HOLD 子句打开的使用语句快照或事务快照的游标时,不能执行此语句。请参见快照隔离

权限

必须是表的所有者,或者在表或实例化视图上具有 REFERENCES 权限,或者具有 DBA 权限。

副作用

自动提交。清除 Interactive SQL 中 [结果] 窗格上的 [结果] 选项卡中的内容。关闭用于当前连接的所有游标。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

以下语句将 Products 表上的索引 IX_product_name 重命名为 ixProductName:

ALTER INDEX IX_product_name ON Products
RENAME TO ixProductName;

以下语句将 IX_product_name 更改为聚簇索引:

ALTER INDEX IX_product_name ON Products
CLUSTERED;