Compartir a través de


sp_sproc_columns (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric

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 = ] N'procedure_name' ]
    [ , [ @procedure_owner = ] N'procedure_owner' ]
    [ , [ @procedure_qualifier = ] N'procedure_qualifier' ]
    [ , [ @column_name = ] N'column_name' ]
    [ , [ @ODBCVer = ] ODBCVer ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

Argumentos

[ @procedure_name = ] N'procedure_name'

Nombre del procedimiento utilizado para devolver información de catálogo. @procedure_name es nvarchar(390), con un valor predeterminado de %, lo que significa que todas las tablas de la base de datos actual. Se admite la coincidencia de patrón de caracteres comodín.

[ @procedure_owner = ] N'procedure_owner'

Nombre del propietario del procedimiento. @procedure_owner es nvarchar(384), con un valor predeterminado de NULL. Se admite la coincidencia de patrón de caracteres comodín. Si no se especifica @procedure_owner , se aplican las reglas de visibilidad de procedimientos predeterminadas del sistema de administración de bases de datos (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 @procedure_owner y el usuario actual no posee un procedimiento con el nombre especificado, sp_sproc_columns busca un procedimiento con el nombre especificado que pertenece al propietario de la base de datos. Si el procedimiento existe, se devuelve información sobre sus columnas.

[ @procedure_qualifier = ] N'procedure_qualifier'

Nombre del calificador de procedimiento. @procedure_qualifier es sysname, con un valor predeterminado de NULL. Varios productos de DBMS admiten la nomenclatura de tres partes para tablas (<qualifier>.<owner>.<name>). En SQL Server, este parámetro 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.

[ @column_name = ] N'column_name'

Una sola columna y se usa cuando solo se desea una columna de información de catálogo. @column_name es nvarchar(384), con un valor predeterminado de NULL. Si se omite @column_name , se devuelven 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

Versión de ODBC que se está usando. @ODBCVer es int, con un valor predeterminado de 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, consulte la especificación ODBC SQLProcedureColumns para ODBC versión 3.0.

[ @fUsePattern = ] fUsePattern

Determina si los caracteres de subrayado (), porcentaje (_%) y corchetes ([ y ]) se interpretan como caracteres comodín. @fUsePattern es bit, con un valor predeterminado de 1. Los valores válidos son 0 (la coincidencia de patrones está desactivada) y 1 (la coincidencia de patrones está activada).

Valores de código de retorno

Ninguno.

Conjunto de resultados

Nombre de la 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 este tipo de datos no se puede asignar a un tipo ISO, el valor es NULL. El nombre del tipo de datos nativo se devuelve en la TYPE_NAME columna .
TYPE_NAME sysname Representación de cadena del tipo de datos. Este valor es el nombre del tipo de datos tal como lo presenta el DBMS subyacente.
PRECISION int Número de dígitos significativos. El valor devuelto de la PRECISION columna está en la base 10.
LENGTH int Tamaño de transferencia de los datos.
SCALE smallint Número de dígitos a la derecha del separador decimal.
RADIX smallint Base de tipos numéricos.
NULLABLE smallint Especifica la nulabilidad:

1 = El tipo de datos se puede crear permitiendo valores NULL.
0 = No se permiten valores NULL.
REMARKS varchar(254) Descripción de la columna de procedimiento. SQL Server no devuelve un valor para esta columna.
COLUMN_DEF nvarchar(4000) 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 datetime e ISO interval . Esta columna siempre devuelve un valor.
SQL_DATETIME_SUB smallint Subcódigo del intervalo ISO datetime si el valor de SQL_DATA_TYPE es SQL_DATETIME o SQL_INTERVAL. En el caso de los tipos de datos distintos de datetime e intervalo ISO, este campo es NULL.
CHAR_OCTET_LENGTH int Longitud máxima en bytes de una columna de tipo de datos binario o carácter. Para todos los demás tipos de datos, esta columna devuelve un 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 no puede devolver una cadena vacía.

Muestra YES si la columna puede incluir valores NULL y NO si la columna no puede incluir 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 NULLABLE columna.
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 (Transact-SQL).

Comentarios

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

Permisos

Es necesario contar con un permiso de tipo SELECT sobre el esquema.