-3
sqlを使用してデータベース内のすべてのテーブルからすべてのユニークインデックスを取得するようにクエリします。出力には、スキーマ名、表名、列名が表示されます。sqlを使用してデータベース内のすべてのテーブルからすべてのユニークインデックスを取得するクエリ
私は次のクエリを試みた:
SELECT
t.[name] AS TableName
,i.[name] AS IndexName
,c.[name] AS ColumnName
FROM sys.schemas s
INNER JOIN sys.tables t ON t.schema_id = s.schema_id
AND s.[name] = 'dbo'
INNER JOIN sys.columns c ON c.object_id = t.object_id
INNER JOIN sys.indexes i ON i.object_id = t.object_id
AND i.index_id > 0
AND i.is_primary_key = 0
AND i.is_unique = 1
INNER JOIN sys.index_columns ic ON ic.object_id = t.object_id
AND ic.column_id = c.column_id
を彼らは1つの一意のインデックス列が複数ある場合にはTableName
とIndexName
複数回表示されます。
これは、表示したい:
TableName IndexName ColumnName
Customers IX_customer_name FirstName, LastName