我想动态更改表上的聚簇索引的名称,可以将其称为(MY_TABLE),以便创建的聚簇索引采用以下形式:PK_MY_TABLE。问题是从索引的形式开始:“ PK_MY_TABLE_E86234JKFDS”等。尽管“ _E86234JKFDS”部分是唯一的,但有一种方法可以在SQL语句中引用此类索引以引用表的聚集索引。 ?
我正在寻找一个将始终有效的查询,因为索引名称始终是唯一的,这似乎很困难。也许只有一种方法可以引用表的聚集索引?
谢谢
尽管目前尚不清楚您真正想与他们做什么,但这应该可以帮助您入门。
SELECT
'PK_' + tables.name NewName,
indexes.name CurrentName
FROM sys.indexes join sys.tables ON indexes.object_id = tables.object_id
WHERE indexes.type_desc = 'CLUSTERED'
此外,请记住,如果在单独的模式中命名表相同,则可能会发生冲突。例如,MySchema.SomeTable
并且AnotherSchema.SomeTable
都将尝试使用PK_SomeTable
不允许的聚集索引名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句