다음을 통해 공유


sp_primarykeys(Transact-SQL)

지정된 원격 테이블의 기본 키 열을 각 키 열당 한 개의 행으로 반환합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_primarykeys [ @table_server = ] 'table_server' 
     [ , [ @table_name = ] 'table_name' ] 
     [ , [ @table_schema = ] 'table_schema' ] 
     [ , [ @table_catalog = ] 'table_catalog' ]

인수

  • [ @table_server = ] **'**table_server'
    기본 키 정보를 반환할 연결된 서버의 이름입니다. table_server는 sysname이며 기본값은 없습니다.

  • [ @table_name = ] 'table_name'
    기본 키 정보를 제공할 테이블의 이름입니다. table_name은 sysname이며, 기본값은 NULL입니다.

  • [ @table_schema = ] 'table_schema'
    테이블 스키마입니다. table_schema는 sysname이며 기본값은 NULL입니다. SQL Server 2008 환경에서는 테이블 소유자에 해당합니다.

  • [ @table_catalog = ] 'table_catalog'
    지정된 table_name이 있는 카탈로그의 이름입니다. SQL Server 환경에서는 데이터베이스 이름에 해당됩니다. table_catalog는 sysname이며 기본값은 NULL입니다.

반환 코드 값

없음

결과 집합

열 이름

데이터 형식

설명

TABLE_CAT

sysname

테이블 카탈로그입니다.

TABLE_SCHEM

sysname

테이블 스키마입니다.

TABLE_NAME

sysname

테이블 이름입니다.

COLUMN_NAME

sysname

열의 이름입니다.

KEY_SEQ

int

기본 키가 여러 열로 구성된 경우 열의 시퀀스 번호입니다.

PK_NAME

sysname

기본 키 식별자입니다. 데이터 원본에 적용할 수 없을 경우에는 NULL을 반환합니다.

주의

sp_primarykeys는 table_server에 해당되는 OLE DB 공급자의 IDBSchemaRowset 인터페이스에 있는 PRIMARY_KEYS 행 집합을 쿼리하여 실행됩니다. 반환되는 행 수를 제한하기 위해 table_name, table_schema, table_catalog 및 column 매개 변수가 이 인터페이스로 전달됩니다.

sp_primarykeys는 지정된 연결 서버의 OLE DB 공급자가 IDBSchemaRowset 인터페이스에서 PRIMARY_KEYS 행 집합을 지원하지 않는 경우 빈 결과 집합을 반환합니다.

사용 권한

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

다음 예에서는 AdventureWorks 데이터베이스의 HumanResources.JobCandidate 테이블에 대해 LONDON1 서버에서 기본 키 열을 반환합니다.

EXEC sp_primarykeys @table_server = N'LONDON1', 
   @table_name = N'JobCandidate',
   @table_catalog = N'AdventureWorks', 
   @table_schema = N'HumanResources'