Compartir vía


sp_primarykeys (Transact-SQL)

Se aplica a: SQL Server

Devuelve las columnas de clave principal, una fila por cada columna de clave, para la tabla remota especificada.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @table_server = ] N'table_server'

Nombre del servidor vinculado desde el que se va a devolver información de clave principal. @table_server es sysname, sin ningún valor predeterminado.

[ @table_name = ] N'table_name'

Nombre de la tabla para la que se va a proporcionar información de clave principal. @table_name es sysname, con un valor predeterminado de NULL.

[ @table_schema = ] N'table_schema'

Esquema de tabla. @table_schema es sysname, con un valor predeterminado de NULL. En el entorno de SQL Server, este valor corresponde al propietario de la tabla.

[ @table_catalog = ] N'table_catalog'

Nombre del catálogo en el que reside el @table_name especificado. @table_catalog es sysname, con un valor predeterminado de NULL. En el entorno de SQL Server, este valor corresponde al nombre de la base de datos.

Valores de código de retorno

Ninguno.

Conjunto de resultados

Nombre de la columna Tipo de datos Descripción
TABLE_CAT sysname Catálogo de la tabla.
TABLE_SCHEM sysname Esquema de la tabla
TABLE_NAME sysname Nombre de la tabla.
COLUMN_NAME sysname Nombre de la columna.
KEY_SEQ int Número de secuencia de la columna en una clave principal con varias columnas.
PK_NAME sysname Identificador de la clave principal. Devuelve NULL si no es aplicable al origen de datos.

Comentarios

sp_primarykeys se ejecuta consultando el PRIMARY_KEYS conjunto de filas de la IDBSchemaRowset interfaz del proveedor OLE DB correspondiente a @table_server. Los parámetros se pasan a esta interfaz para restringir las filas devueltas.

sp_primarykeys devuelve un conjunto de resultados vacío si el proveedor OLE DB del servidor vinculado especificado no admite el PRIMARY_KEYS conjunto de filas de la IDBSchemaRowset interfaz.

Permisos

Es necesario contar con un permiso de tipo SELECT sobre el esquema.

Ejemplos

En el siguiente ejemplo se devuelven las columnas de clave principal del servidor LONDON1 para la tabla HumanResources.JobCandidate de la base de datos AdventureWorks2022.

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