INDEX_COL(Transact-SQL)

인덱싱된 열 이름을 반환합니다. 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_ID는 int입니다.

  • key_id
    인덱스 키 열 위치입니다. key_ID는 int입니다.

반환 형식

nvarchar (128)

예외

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

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

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

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

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

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

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

참고 항목

참조

식(Transact-SQL)

메타데이터 함수(Transact-SQL)

sys.indexes(Transact-SQL)

sys.index_columns(Transact SQL)