Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
重命名索引、主键或外键,或更改索引的聚簇性质。
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 为索引、主键或外键指定新名称。
重命名外键或主键的基础索引时,未更改与索引对应的 RI 约束名称。但是,外键角色名称(如果适用)与索引名称相同,并且已更改。如有必要,使用 ALTER TABLE 语句重命名 RI 约束名称。请参见ALTER TABLE 语句。
cluster-clause 指定索引应更改为 CLUSTERED 还是 NONCLUSTERED。一个表上只有一个索引可以是聚簇索引。
REBUILD 子句 此子句用于重建索引,而不是删除然后重新创建索引。
ALTER INDEX 语句执行两项任务:
此语句可用于重命名索引、主键或外键。
还可用于将索引类型从非聚簇更改为聚簇,反之亦然。
ALTER INDEX 语句可用于更改为索引指定的聚簇类型,但不会重新组织数据。同样,每个表或实例化视图上只有一个索引可以是聚簇索引。
ALTER INDEX 不能用于更改局部临时表上的索引。如果试图执行此操作,将导致出现 [未找到索引] 错误。
当存在使用 WITH HOLD 子句打开的使用语句快照或事务快照的游标时,不能执行此语句。请参见快照隔离。
必须是表的所有者,或者在表或实例化视图上具有 REFERENCES 权限,或者具有 DBA 权限。
自动提交。清除 Interactive SQL 中 [结果] 窗格上 [结果] 选项卡中的内容。关闭用于当前连接的所有游标。如果指定 ALTER INDEX REBUILD,则执行检查点。
SQL/2008 服务商扩充。
以下语句将 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;