此语句用于重命名索引、主键或外键,或用于更改索引的聚簇性质。
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
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; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |