当前位置:  开发笔记 > 编程语言 > 正文

是否有一个干净的T-SQL查询,我可以用来验证索引是否有正确的列?

如何解决《是否有一个干净的T-SQL查询,我可以用来验证索引是否有正确的列?》经验,为你挑选了1个好方法。

我正在编写一个数据库升级脚本,它将检查索引是否定义了正确的两列.如果它没有,或者它只有其中一个,那么我将DROP它(有没有办法改变索引?)然后用两者重新创建它.



1> Ed Altorfer..:

我没有立即使用数据库来测试它,但您应该能够通过使用以下IF EXISTS语句查看索引中是否存在列.

我不确定你是否可以动态改变索引.

IF EXISTS
(
   SELECT MyIndex.Name AS IndexName, 
          Columns.name AS ColumnName 
   FROM sys.indexes MyIndex
   INNER JOIN sys.index_columns IndexColumns 
      ON  MyIndex.index_id = IndexColumns.index_id
      AND MyIndex.object_id = IndexColumns.object_id 
   INNER JOIN sys.columns Columns
      ON  Columns.column_id = IndexColumns.column_id 
      AND IndexColumns.object_id = Columns.object_id 
   WHERE Columns.name = 'ColumnName'
   AND MyIndex.Name='IX_MyIndexName'
)

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有