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.
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.