INDEX_COL (Transact-SQL)
Gibt den Namen einer indizierten Spalte zurück. Gibt für XML-Indizes NULL zurück.
Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version). |
Transact-SQL-Syntaxkonventionen
Syntax
INDEX_COL ( '[ database_name . [ schema_name ] .| schema_name ]
table_or_view_name', index_id , key_id )
Argumente
database_name
Ist der Name der Datenbank.schema_name
Ist der Name des Schemas, zu dem der Index gehört.table_or_view_name
Der Name der Tabelle oder indizierten Sicht. table_or_view_name muss in einfache Anführungszeichen eingeschlossen werden und kann durch Datenbank- und Schemanamen voll qualifiziert werden.index_id
Die ID des Indexes. index_ID ist vom Datentyp int.key_id
Die Position der Indexschlüsselspalte. key_ID ist vom Datentyp int.
Rückgabetypen
nvarchar (128)
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. INDEX_COL, 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
A.Zurückgeben eines Indexspaltennamens mit INDEX_COL
Im folgenden Beispiel werden die Spaltennamen der beiden Schlüsselspalten im Index PK_SalesOrderDetail_SalesOrderID_LineNumber zurückgegeben.
USE AdventureWorks2012;
GO
SELECT
INDEX_COL (N'AdventureWorks2012.Sales.SalesOrderDetail', 1,1) AS
[Index Column 1],
INDEX_COL (N'AdventureWorks2012.Sales.SalesOrderDetail', 1,2) AS
[Index Column 2]
;
GO
Im Folgenden wird das Resultset aufgeführt:
Index Column 1 Index Column 2
-----------------------------------------------
SalesOrderID SalesOrderDetailID