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.

Icono de vínculo a temasConvenciones 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 utilizado para devolver información de catálogo. name es de tipo nvarchar(390) y su valor predeterminado es %, 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.

    En SQL Server 2005, si el usuario actual posee un procedimiento que tiene el nombre especificado, se devuelve información sobre ese procedimiento. Si ownerno se especifica 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 sólo se desea una columna de información del catálogo. column_name es de tipo nvarchar(384) y su valor predeterminado es NULL. Si se omite el parámetro column_name, se devolverán todas las columnas. Se admite la coincidencia de patrón de caracteres comodín. Para obtener la máxima interoperatividad, el cliente de la puerta de enlace sólo debe dar por supuesta la coincidencia de patrón estándar de SQL-92 (los 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, que indica ODBC versión 2.0. 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.

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 SQL-92, 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 capacidad de aceptar valores NULL:

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 la misma que la columna DATA_TYPE, salvo para los tipos de datos datetime e interval de SQL-92. Esta columna siempre devuelve un valor.

SQL_DATETIME_SUB

smallint

El subcódigo datetime e interval de SQL-92 si el valor de SQL_DATA_TYPE es SQL_DATETIME o SQL_INTERVAL. Para tipos de datos distintos de datetime e interval de SQL-92, 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)

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.

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 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 procedimientos almacenados extendidos. Para obtener más información, vea Tipos de datos (Transact-SQL).

Notas

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.

Valores de código de retorno

Ninguno

Vea también

Referencia

Procedimientos almacenados del catálogo (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005