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 @column_name .
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_columns_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @column_name = ] N'column_name' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Argumentos
[ @table_server = ] N'table_server'
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 = ] N'table_name'
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 = ] N'table_schema'
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 = ] N'table_catalog'
Nombre de 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 = ] N'column_name'
Nombre de la columna de base de datos para la que se va a proporcionar información. @column_name es sysname, con un valor predeterminado de NULL
.
[ @ODBCVer = ] ODBCVer
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
y 3
. Para obtener información sobre las diferencias de comportamiento entre las versiones 2 y 3, consulte la especificación ODBC SQLColumns
.
Valores de código de retorno
Ninguno.
Conjunto 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 (<qualifier>.<owner>.<name> ). En SQL Server, esta columna representa el nombre de la base de datos. En algunos productos, representa el nombre de 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 int que corresponde a los indicadores de tipo ODBC. Si se trata de un tipo de datos que no se puede asignar a un tipo ODBC, este valor es NULL . El nombre del tipo de datos nativo se devuelve en la TYPE_NAME columna . |
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 PRECISION columna 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 tipos de datos numéricos. |
NULLABLE |
smallint | Especifica la nulabilidad.1 = NULL es posible.0 = NOT NULL . |
REMARKS |
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 TYPE campo del descriptor. Esta columna es la misma que la DATA_TYPE columna, excepto para los tipos de datos de intervalo datetime y SQL-92. Esta columna siempre devuelve un valor. |
SQL_DATETIME_SUB |
smallint | Código de subtipo para los tipos de datos interval de SQL-92 y datetime. 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 todos 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 compatible con ISO SQL no puede devolver una cadena vacía.YES = La columna puede incluir NULL .NO = La columna no puede incluir 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 NULLABLE columna. |
SS_DATA_TYPE |
tinyint | Tipo de datos de SQL Server, usado por procedimientos almacenados extendidos. |
Para obtener más información, vea Información general sobre ODBC.
Comentarios
sp_columns_ex
se ejecuta consultando elCOLUMNS
conjunto de filas de laIDBSchemaRowset
interfaz del proveedor OLE DB correspondiente a @table_server. Los parámetros @table_name, @table_schema, @table_catalog y @column_name 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 elCOLUMNS
conjunto de filas de laIDBSchemaRowset
interfaz.sp_columns_ex
sigue los requisitos para los identificadores delimitados. Para obtener más información, consulte Identificadores de base de datos.
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';