sp_columns_ex (Transact-SQL)

Se aplica a:SQL Server

Devuelve la información de la columna, una fila por columna, de las tablas del servidor vinculado especificado. sp_columns_ex devuelve información de columna solo para la columna específica si se especifica la columna .

Convenciones de sintaxis de Transact-SQL

Sintaxis

  
sp_columns_ex [ @table_server = ] 'table_server'   
     [ , [ @table_name = ] 'table_name' ]   
     [ , [ @table_schema = ] 'table_schema' ]   
     [ , [ @table_catalog = ] 'table_catalog' ]   
     [ , [ @column_name = ] 'column' ]   
     [ , [ @ODBCVer = ] 'ODBCVer' ]  

Argumentos

[ @table_server = ] 'table_server' Es el nombre del servidor vinculado para el que se va a devolver información de columna. table_server es sysname, sin ningún valor predeterminado.

[ @table_name = ] 'table_name' Es el nombre de la tabla para la que se va a devolver información de columna. table_name es sysname, con un valor predeterminado de NULL.

[ @table_schema = ] 'table_schema' Es el nombre de esquema de la tabla para la que se va a devolver información de columna. table_schema es sysname, con un valor predeterminado de NULL.

[ @table_catalog = ] 'table_catalog' Es el nombre del catálogo de la tabla para la que se va a devolver información de columna. table_catalog es sysname, con un valor predeterminado de NULL.

[ @column_name = ] 'column' Es el nombre de la columna de base de datos para la que se va a proporcionar información. column es sysname, con un valor predeterminado de NULL.

[ @ODBCVer = ] 'ODBCVer' Es la versión de ODBC que se está usando. ODBCVer es int, con un valor predeterminado de 2. Esto indica ODBC Versión 2. Los valores válidos son 2 ó 3. Para obtener información acerca de las diferencias de comportamiento entre las versiones 2 y 3, vea la especificación ODBC SQLColumns.

Valores de código de retorno

None

Conjuntos de resultados

Nombre de la columna Tipo de datos Descripción
TABLE_CAT sysname Nombre del calificador de la tabla o vista. Varios productos de DBMS admiten la nomenclatura de tres partes para tablas (calificador.propietario.name). En SQL Server esta columna representa el nombre de la base de datos. En algunos productos, representa el nombre del servidor del entorno de base de datos de la tabla. Este campo puede ser NULL.
TABLE_SCHEM sysname Nombre del propietario de la tabla o vista. En SQL Server, esta columna representa el nombre del usuario de la base de datos que creó la tabla. Este campo siempre devuelve un valor.
TABLE_NAME sysname Nombre de la tabla o vista. Este campo siempre devuelve un valor.
COLUMN_NAME sysname Nombre de columna, para cada columna del TABLE_NAME devuelto. Este campo siempre devuelve un valor.
DATA_TYPE smallint Valor de tipo entero correspondiente a indicadores de tipo ODBC. Si se trata de un tipo de datos que no se puede asignar a un tipo de ODBC, el valor es NULL. El nombre del tipo de datos nativo se devuelve en la columna TYPE_NAME .
TYPE_NAME varchar(13) Cadena que representa un tipo de datos. El DBMS subyacente presenta este nombre del tipo de datos.
COLUMN_SIZE int Número de dígitos significativos. El valor devuelto de la columna PRECISION está en la base 10.
BUFFER_LENGTH int Tamaño de transferencia de los datos.1
DECIMAL_DIGITS smallint Número de dígitos a la derecha del separador decimal.
NUM_PREC_RADIX smallint Base para los tipos de datos numéricos.
NULLABLE smallint Especifica la nulabilidad.

1 = Se admiten valores NULL.

0 = No se admiten valores NULL.
COMENTARIOS varchar(254) Este campo siempre devuelve NULL.
COLUMN_DEF varchar(254) Valor predeterminado de la columna.
SQL_DATA_TYPE smallint Valor del tipo de datos SQL tal como aparece en el campo TYPE del descriptor. Esta columna es la misma que la columna de DATA_TYPE , excepto para los tipos de datos datetime y SQL-92 interval . Esta columna siempre devuelve un valor.
SQL_DATETIME_SUB smallint Código de subtipo para los tipos de datos datetime y sql-92 interval . Para otros tipos de datos, esta columna devuelve NULL.
CHAR_OCTET_LENGTH int Longitud máxima en bytes de una columna de tipos de datos de caracteres o enteros. Para los demás tipos de datos, esta columna devuelve NULL.
ORDINAL_POSITION int Posición ordinal de la columna en la tabla. La primera columna de la tabla es 1. Esta columna siempre devuelve un valor.
IS_NULLABLE varchar(254) Nulabilidad de la columna de la tabla. Se siguen las normas ISO para determinar la nulabilidad. Un DBMS que cumpla la norma ISO SQL no puede devolver una cadena vacía.

YES = La columna puede incluir valores NULL.

NO = La columna no puede incluir valores NULL.

Esta columna devuelve una cadena de longitud cero si no se conoce la nulabilidad.

El valor devuelto para esta columna es diferente del valor devuelto para la columna NULLABLE .
SS_DATA_TYPE tinyint SQL Server tipo de datos, utilizado por procedimientos almacenados extendidos.

Para obtener más información, vea la documentación de Microsoft ODBC.

Comentarios

  • sp_columns_ex se ejecuta consultando el conjunto de filas COLUMNS de la interfaz IDBSchemaRowset del proveedor OLE DB correspondiente a table_server. Los parámetros table_name, table_schema, table_catalog y columna se pasan a esta interfaz para restringir las filas devueltas.

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

  • sp_columns_ex sigue los requisitos para los identificadores delimitados. Para obtener más información, vea Database Identifiers.

Permisos

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

Ejemplos

El siguiente ejemplo devuelve el tipo de datos de la columna JobTitle de la tabla HumanResources.Employee en la base de datos AdventureWorks2022 del servidor vinculado Seattle1.

EXEC sp_columns_ex 'Seattle1',   
   'Employee',   
   'HumanResources',   
   'AdventureWorks2022',   
   'JobTitle';  

Consulte también

sp_catalogs (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_indexes (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_primarykeys (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)