다음을 통해 공유


INDEX_COL(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance

인덱싱된 열 이름을 반환합니다. XML 인덱스에 대해서는 NULL을 반환합니다.

Transact-SQL 구문 표기 규칙

구문

INDEX_COL ( '[ database_name . [ schema_name ] .| schema_name ]  
    table_or_view_name', index_id , key_id )   

인수

database_name
데이터베이스의 이름입니다.

schema_name
인덱스가 속한 스키마의 이름입니다.

table_or_view_name
테이블 또는 인덱싱된 뷰의 이름입니다. table_or_view_name은 작은따옴표로 구분해야 하며 데이터베이스 이름 및 스키마 이름을 붙여 정규화할 수 있습니다.

index_id
인덱스의 ID입니다. index_IDint입니다.

key_id
인덱스 키 열 위치입니다. key_IDint입니다.

반환 형식

nvarchar (128 )

예외

오류가 발생하거나 호출자가 개체를 볼 수 있는 권한을 갖고 있지 않으면 NULL을 반환합니다.

사용자는 소유하고 있거나 사용 권한을 부여 받은 보안 개체의 메타데이터만 볼 수 있습니다. 즉, 사용자가 개체에 대한 사용 권한이 없으면 INDEX_COL과 같은 메타데이터 내보내기 기본 제공 함수가 NULL을 반환합니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

예제

A. INDEX_COL을 사용하여 인덱스 열 이름 반환

다음 예에서는 PK_SalesOrderDetail_SalesOrderID_LineNumber 인덱스에 있는 2개의 키 열 이름을 반환합니다.

USE AdventureWorks2022;  
GO  
SELECT   
    INDEX_COL (N'AdventureWorks2022.Sales.SalesOrderDetail', 1,1) AS  
        [Index Column 1],   
    INDEX_COL (N'AdventureWorks2022.Sales.SalesOrderDetail', 1,2) AS  
        [Index Column 2]  
;  
GO  

결과 집합은 다음과 같습니다.

Index Column 1      Index Column 2  
-----------------------------------------------  
SalesOrderID        SalesOrderDetailID  

참고 항목

식(Transact-SQL)
메타데이터 함수(Transact-SQL)
sys.indexes(Transact-SQL)
sys.index_columns(Transact SQL)