Condividi tramite


INDEXKEY_PROPERTY (Transact-SQL)

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Restituisce informazioni su una chiave dell'indice. Restituisce NULL per gli indici XML.

Importante

Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Usare invece sys.index_columns (Transact-SQL).

Convenzioni di sintassi Transact-SQL

Sintassi

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

object_ID
Numero di identificazione dell'oggetto della tabella o vista indicizzata. object_ID è di tipo int.

index_ID
Numero di identificazione dell'indice. index_ID è di tipo int.

key_ID
Posizione della colonna chiave indice. key_ID è di tipo int.

property
Nome della proprietà di cui si desidera ottenere informazioni. property è una stringa di caratteri e può avere uno dei valori seguenti.

Valore Descrizione
ColumnId ID della colonna nella posizione key_ID dell'indice.
IsDescending Ordine in cui viene archiviata la colonna dell'indice.

1 = decrescente 0 = crescente

Tipi restituiti

int

Eccezioni

Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione necessaria per visualizzare l'oggetto.

Un utente può visualizzare esclusivamente i metadati delle entità a sicurezza diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Di conseguenza, le funzioni predefinite di creazione dei metadati come INDEXKEY_PROPERTY possono restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per altre informazioni, vedere Metadata Visibility Configuration.

Esempi

Nell'esempio seguente vengono restituite entrambe le proprietà per l'ID di indice 1, la colonna chiave 1 nella tabella Production.Location.

USE AdventureWorks2022;  
GO  
SELECT   
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),  
        1,1,'ColumnId') AS [Column ID],  
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),  
        1,1,'IsDescending') AS [Asc or Desc order];  

Set di risultati:

Column ID   Asc or Desc order   
----------- -----------------   
1           0  
  
(1 row(s) affected)  

Vedi anche

INDEX_COL (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.objects (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)