Compartir a través de


sp_columns_ex (Transact-SQL)

Actualizado: 17 de julio de 2006

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 la columna únicamente para la columna indicada si se especifica column.

Icono de vínculo a temasConvenciones 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 del que se devuelve información de columnas. table_server es de tipo sysname y no tiene ningún valor predeterminado.
  • [ @table_name = ] 'table_name'
    Es el nombre de la tabla para la que se devuelve información de columnas. table_name es de tipo sysname y su valor predeterminado es NULL.
  • [ @table_schema = ] 'table_schema'
    Es el nombre del esquema de la tabla para la que se devuelve información de columnas. table_schema es de tipo sysname y su valor predeterminado es NULL.
  • [ @table_catalog = ] 'table_catalog'
    Es el nombre del catálogo de la tabla para la que se devuelve información de columnas. table_catalog es de tipo sysname y su valor predeterminado es NULL.
  • [ @column_name = ] 'column'
    Se trata del nombre de la columna de la base de datos cuya información se va a proporcionar. column es de tipo sysname y su valor predeterminado es NULL.
  • [ @ODBCVer = ] 'ODBCVer'
    Se trata de la versión de ODBC que se está utilizando. ODBCVer es de tipo int y su valor predeterminado es 2, lo que indica que se trata de la versión 2 de ODBC. Los valores válidos son 2 o 3. Para obtener información de las diferencias de comportamiento entre las versiones 2 y 3, vea la especificación de SQLColumns de ODBC.

Conjuntos de resultados

Nombre de columna Tipo de datos Descripción

TABLE_CAT

sysname

Nombre del calificador de la tabla o vista. Varios productos DBMS admiten nombres de tres partes para las tablas (qualifier.owner.name). En SQL Server 2005, 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 devuelta de TABLE_NAME. 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 para la columna PRECISION está expresado en 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 signo decimal.

NUM_PREC_RADIX

smallint

Base para los tipos de datos numéricos.

NULLABLE

smallint

Especifica la capacidad de aceptar valores NULL.

1 = NULL es posible.

0 = No se admiten valores NULL.

REMARKS

varchar(254)

Este campo siempre devuelve NULL.

COLUMN_DEF

varchar(254)

Valor predeterminado de la columna.

SQL Server 2005 se diferencia de SQL Server 2000 en la forma en que descodifica y almacena expresiones SQL en los metadatos del catálogo. La semántica de la expresión descodificada es equivalente al texto original; no obstante, no existen garantías sintácticas. Por ejemplo, los espacios en blanco se quitan de la expresión descodificada. Para obtener más información, vea Cambios de comportamiento en las características del motor de base de datos en SQL Server 2005.

SQL_DATA_TYPE

smallint

Valor del tipo de datos SQL tal como aparece en el campo TYPE del descriptor. Esta columna es igual que la columna DATA_TYPE, salvo por los tipos de datos datetime e interval de SQL-92. Esta columna siempre devuelve un valor.

SQL_DATETIME_SUB

smallint

Código de subtipo para los tipos de datos datetime e interval de SQL-92. 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)

Aceptación de valores NULL de la columna de la tabla. Se siguen las normas ISO para determinar la aceptación de valores NULL. 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 aceptación de valores NULL.

El valor devuelto para esta columna es diferente del valor devuelto para la columna NULLABLE.

SS_DATA_TYPE

tinyint

Tipo de datos de SQL Server utilizado por los procedimientos almacenados extendidos. Para obtener más información, vea Tipos de datos (motor de base de datos).

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

Notas

sp_columns_ex se ejecuta mediante una consulta al 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 column 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.

Permisos

Requiere el permiso SELECT en el esquema.

Valores de código de retorno

Ninguno

Ejemplos

En el siguiente ejemplo se devuelve el tipo de datos de la columna Title de la tabla HumanResources.Employee de la base de datos AdventureWorks del servidor vinculado Seattle1.

EXEC sp_columns_ex 'Seattle1', 
   'Employee', 
   'HumanResources', 
   'AdventureWorks', 
   'Title';

Vea también

Referencia

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)

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido nuevo:
  • En la columna COLUMN_DEF, se ha agregado el contenido sobre cómo se almacenan las expresiones SQL en SQL Server 2005.