我正在使用 Sql-Server,并且我有以下查询,该查询返回具有除“SQL_Latin1_General_CP1_CI_AS”之外的排序规则的所有列
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS
where COLLATION_NAME <> 'SQL_Latin1_General_CP1_CI_AS'
and COLLATION_NAME is not null;
我还需要获取这些列上的索引,以便我可以删除这些索引,修改列,然后重新创建它们。
我的问题是我不知道如何获取从上面的查询返回的列的索引名称。
最佳答案
看看这是否对您有帮助:
select object_schema_name(object_id), object_name(object_id), name
from sys.indexes
where type > 0
and object_name(object_id) in (
select C.column_name
from INFORMATION_SCHEMA.COLUMNS C
where COLLATION_NAME is not null and COLLATION_NAME <> 'SQL_Latin1_General_CP1_CI_AS'
)
关于sql - 按列名获取索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9910703/