INDEX_COL(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
인덱싱된 열 이름을 반환합니다. XML 인덱스에 대해서는 NULL을 반환합니다.
구문
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을 반환합니다. 자세한 내용은 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)