Share via


INDEXKEY_PROPERTY (Transact-SQL)

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

Nota importanteImportante

Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Utilizzare sys.index_columns (Transact-SQL) in alternativa.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )

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. I possibili valori sono i 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 ulteriori informazioni, vedere Configurazione della visibilità dei metadati.

Esempi

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

USE AdventureWorks2012;
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)

Vedere anche

Riferimento

INDEX_COL (Transact-SQL)

INDEXPROPERTY (Transact-SQL)

sys.objects (Transact-SQL)

sys.indexes (Transact-SQL)

sys.index_columns (Transact-SQL)