INDEXKEY_PROPERTY (Transact-SQL)
Gibt Informationen über den Indexschlüssel zurück. Gibt für XML-Indizes NULL zurück.
Wichtig
Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen sys.index_columns (Transact-SQL).
Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version). |
Transact-SQL-Syntaxkonventionen
Syntax
INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )
Argumente
object_ID
Die Objekt-ID der Tabelle oder der indizierten Sicht. object_ID ist vom Datentyp int.index_ID
Die Index-ID. index_ID ist vom Datentyp int.key_ID
Die Position der Indexschlüsselspalte. key_ID ist vom Datentyp int.property
Der Name der Eigenschaft, für die Informationen zurückgegeben werden. property ist eine Zeichenfolge und kann einen der folgenden Werte aufweisen.Wert
Beschreibung
ColumnId
Die Spalten-ID an der key_ID -Position des Indexes.
IsDescending
Die Reihenfolge, in der die Indexspalte gespeichert wird.
1 = Absteigend 0 = Aufsteigend
Rückgabetypen
int
Ausnahmen
Gibt NULL bei einem Fehler zurück oder wenn ein Aufrufer nicht über Berechtigungen zum Anzeigen des Objekts verfügt.
Ein Benutzer kann nur die Metadaten sicherungsfähiger Elemente anzeigen, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Dies bedeutet, dass Metadaten ausgebende integrierte Funktionen, z. B. INDEXKEY_PROPERTY, möglicherweise NULL zurückgeben, wenn dem Benutzer für das Objekt keine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.
Beispiele
Im folgenden Beispiel werden beide Eigenschaften für Index-ID 1, Schlüsselspalte 1, in der Production.Location-Tabelle zurückgegeben.
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];
Im Folgenden wird das Resultset aufgeführt:
Column ID Asc or Desc order
----------- -----------------
1 0
(1 row(s) affected)