Compartir a través de


sp_sproc_columns (Transact-SQL)

Devuelve la información de columna de un único procedimiento almacenado o función definida por el usuario en el entorno actual.

Se aplica a: SQL Server (SQL Server 2008 a versión actual), Windows Azure SQL Database (Versión inicial a versión actual).

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_sproc_columns [[@procedure_name = ] 'name'] 
    [ , [@procedure_owner = ] 'owner'] 
    [ , [@procedure_qualifier = ] 'qualifier'] 
    [ , [@column_name = ] 'column_name']
    [ , [@ODBCVer = ] 'ODBCVer']
    [ , [@fUsePattern = ] 'fUsePattern']

Argumentos

  • [ @procedure_name = ] 'name'
    Es el nombre del procedimiento que se utiliza para devolver información de catálogo. name es de tipo nvarchar(390) y su valor predeterminado es %, lo que significa todas las tablas de la base de datos actual. Se admite la coincidencia de patrón de caracteres comodín.

  • [ @procedure_owner =] 'owner'
    Es el nombre del propietario del procedimiento. owner es de tipo nvarchar(384) y su valor predeterminado es NULL. Se admite la coincidencia de patrón de caracteres comodín. Si no se especifica owner, se aplican las reglas predeterminadas de visibilidad del procedimiento del DBMS subyacente.

    Si el usuario actual es propietario de un procedimiento que tiene el nombre especificado, se devuelve información sobre ese procedimiento. Si no se especifica owner y el usuario actual no posee un procedimiento con el nombre especificado, sp_sproc_columns busca un procedimiento que tenga el nombre especificado que pertenezca al propietario de la base de datos. Si el procedimiento existe, se devuelve información sobre sus columnas.

  • [ @procedure_qualifier =] 'qualifier'
    Es el nombre del calificador del procedimiento. qualifier es de tipo sysname y su valor predeterminado es NULL. Varios productos DBMS admiten nombres de tres partes para las tablas (qualifier.owner.name). En SQL Server, este parámetro 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.

  • [ @column_name =] 'column_name'
    Es una sola columna y se utiliza cuando solo se desea una columna de información del catálogo. column_name es de tipo nvarchar(384) y su valor predeterminado es NULL. Si no se especifica el parámetro column_name, se devolverán todas las columnas. Se admite la coincidencia de patrón de caracteres comodín. Para obtener una interoperabilidad máxima, el cliente de puerta de enlace solo debe dar por supuesta la coincidencia de patrón estándar de ISO (caracteres comodín % y _).

  • [ @ODBCVer =] 'ODBCVer'
    Es la versión de ODBC que se está utilizando. ODBCVer es de tipo int y su valor predeterminado es 2, lo que indica la versión 2.0 de ODBC. Para obtener más información sobre las diferencias entre ODBC versión 2.0 y ODBC versión 3.0, vea la especificación SQLProcedureColumns de ODBC versión 3.0

  • [ @fUsePattern =] 'fUsePattern'
    Determina si los caracteres de subrayado (_), porcentaje (%) y corchetes ([ ]) se interpretan como caracteres comodín. Los valores válidos son 0 (coincidencia de patrón desactivada) y 1 (coincidencia de patrón activada). fUsePattern es de tipo bit y su valor predeterminado es 1.

Valores de código de retorno

Ninguno

Conjuntos de resultados

Nombre de columna

Tipo de datos

Descripción

PROCEDURE_QUALIFIER

sysname

Nombre del calificador del procedimiento. Esta columna puede ser NULL.

PROCEDURE_OWNER

sysname

Nombre del propietario del procedimiento. Esta columna siempre devuelve un valor.

PROCEDURE_NAME

nvarchar(134)

Nombre del procedimiento. Esta columna siempre devuelve un valor.

COLUMN_NAME

sysname

Nombre de columna para cada columna del TABLE_NAME devuelto. Esta columna siempre devuelve un valor.

COLUMN_TYPE

smallint

Este campo siempre devuelve un valor:

0 = SQL_PARAM_TYPE_UNKNOWN

1 = SQL_PARAM_TYPE_INPUT

2 = SQL_PARAM_TYPE_OUTPUT

3 = SQL_RESULT_COL

4 = SQL_PARAM_OUTPUT

5 = SQL_RETURN_VALUE

DATA_TYPE

smallint

Código del tipo de datos entero de un tipo de datos de ODBC. Si no se puede asignar este tipo de datos a un tipo de ISO, el valor es NULL. El nombre del tipo de datos nativo se devuelve en la columna TYPE_NAME.

TYPE_NAME

sysname

Representación de cadena del tipo de datos. Es el nombre del tipo de datos como lo presenta el DBMS subyacente.

PRECISION

int

Número de dígitos significativos. El valor devuelto para la columna PRECISION está expresado en base 10.

LENGTH

int

Tamaño de transferencia de los datos.

SCALE

smallint

Número de dígitos a la derecha del signo decimal.

RADIX

smallint

Es la base de tipos numéricos.

NULLABLE

smallint

Especifica la nulabilidad:

1 = El tipo de datos se puede crear para permitir valores NULL.

0 = No se admiten valores NULL.

REMARKS

varchar(254)

Descripción de la columna de procedimiento. SQL Server no devuelve ningún valor para esta columna.

COLUMN_DEF

nvarchar(4000)

Valor predeterminado de la columna.

SQL_DATA_TYPE

smallint

El 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 ISO. Esta columna siempre devuelve un valor.

SQL_DATETIME_SUB

smallint

El subcódigo datetime interval ISO si el valor de SQL_DATA_TYPE es SQL_DATETIME o SQL_INTERVAL. Para tipos de datos distintos de datetime e interval ISO, este campo es NULL.

CHAR_OCTET_LENGTH

int

Longitud máxima en bytes de una columna de tipo de datos character o binary. 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 que cumpla la norma ISO no puede devolver una cadena vacía.

Muestra YES si la columna puede incluir valores NULL y muestra NO si la columna no puede contener 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

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

Comentarios

sp_sproc_columns es equivalente a SQLProcedureColumns en ODBC. Los resultados devueltos se ordenan por PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME y el orden en que aparecen los parámetros en la definición del procedimiento.

Permisos

Requiere permiso SELECT en el esquema.

Vea también

Referencia

Procedimientos almacenados del catálogo (Transact-SQL)

Procedimientos almacenados del sistema (Transact-SQL)