skb*_*skb 5 t-sql sql-server indexing
我正在编写一个数据库升级脚本,它将检查索引是否定义了正确的两列.如果它没有,或者它只有其中一个,那么我将DROP它(有没有办法改变索引?)然后用两者重新创建它.
我没有立即使用数据库来测试它,但您应该能够通过使用以下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'
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3759 次 |
| 最近记录: |