sp_pkeys(Transact-SQL)

적용 대상: Microsoft Fabric의 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW) Warehouse

현재 환경의 단일 테이블에 대한 기본 키 정보를 반환합니다.

Transact-SQL 구문 표기 규칙

구문

-- Syntax for SQL Server, Azure SQL Database, Azure Synapse Analytics, Parallel Data Warehouse  
  
sp_pkeys [ @table_name = ] 'name'       
    [ , [ @table_owner = ] 'owner' ]   
    [ , [ @table_qualifier = ] 'qualifier' ]  

인수

[ @table_name= ] 'name'
정보를 반환할 테이블입니다. 이름은 sysname이며 기본값은 없습니다. Wild카드 패턴 일치는 지원되지 않습니다.

[ @table_owner= ] 'owner'
지정한 테이블의 테이블 소유자를 지정합니다. 소유자는 sysname이며 기본값은 NULL입니다. Wild카드 패턴 일치는 지원되지 않습니다. 소유자를 지정하지 않으면 기본 DBMS의 기본 테이블 표시 유형 규칙이 적용됩니다.

SQL Server에서 현재 사용자가 지정된 이름의 테이블을 소유하는 경우 해당 테이블의 열이 반환됩니다. 소유자가 지정되지 않고 현재 사용자가 지정된 이름의 테이블을 소유하지 않는 경우 이 절차에서는 데이터베이스 소유자가 소유한 지정된 이름의 테이블을 찾습니다. 테이블이 있을 경우 해당 테이블의 열이 반환됩니다.

[ @table_qualifier= ] 'qualifier'
테이블 한정자입니다. 한정자는 sysname이며 기본값은 NULL입니다. 다양한 DBMS 제품은 테이블(한정자)에 대해 세 부분으로 구성된 명명을 지원합니다.소유자입니다.name). SQL Server에서 이 열은 데이터베이스 이름을 나타냅니다. 일부 제품에서는 테이블의 데이터베이스 환경 서버 이름을 나타냅니다.

반환 코드 값

없음

결과 집합

열 이름 데이터 형식 설명
TABLE_QUALIFIER sysname 테이블 한정자의 이름입니다. 이 필드는 NULL이 될 수 있습니다.
TABLE_OWNER sysname 테이블 소유자의 이름입니다. 이 필드는 항상 값을 반환합니다.
TABLE_NAME sysname 테이블 이름입니다. SQL Server에서 이 열은 sysobjects 테이블에 나열된 테이블 이름을 나타냅니다. 이 필드는 항상 값을 반환합니다.
COLUMN_NAME sysname 반환된 TABLE_NAME 각 열에 대한 열의 이름입니다. SQL Server에서 이 열은 sys.columns 테이블에 나열된 열 이름을 나타냅니다. 이 필드는 항상 값을 반환합니다.
KEY_SEQ smallint 여러 열 기본 키에 있는 열의 시퀀스 번호입니다.
PK_NAME sysname 기본 키 식별자입니다. 데이터 원본에 적용할 수 없을 경우에는 NULL을 반환합니다.

설명

sp_pkeys는 PRIMARY KEY 제약 조건을 사용하여 명시적으로 정의된 열에 대한 정보를 반환합니다. 모든 시스템이 명시적으로 명명된 기본 키를 지원하는 것은 아니므로 게이트웨이 구현자는 기본 키를 구성하는 것을 결정합니다. 기본 키라는 용어는 테이블에 대한 논리적 기본 키를 나타냅니다. 논리적 기본 키로 나열된 모든 키에는 고유한 인덱스가 정의되어 있습니다. 이 고유 인덱스도 sp_statistics 반환됩니다.

sp_pkeys 저장 프로시저는 ODBC의 SQLPrimaryKeys와 동일합니다. 반환된 결과는 TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME 및 KEY_SEQ 따라 정렬됩니다.

사용 권한

스키마에 대한 SELECT 권한이 필요합니다.

예제

다음 예제에서는 데이터베이스의 테이블에 대한 HumanResources.Department 기본 키를 검색합니다 AdventureWorks2022 .

USE AdventureWorks2022;  
GO  
EXEC sp_pkeys @table_name = N'Department'  
    ,@table_owner = N'HumanResources';  

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

다음 예제에서는 데이터베이스의 테이블에 대한 DimAccount 기본 키를 검색합니다 AdventureWorksPDW2012 . 테이블에 기본 키가 없음을 나타내는 0개의 행을 반환합니다.

-- Uses AdventureWorksPDW
  
EXEC sp_pkeys @table_name = N'DimAccount';  

참고 항목

카탈로그 저장 프로시저(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)