Recupera una descripción de los parámetros de procedimiento almacenado y de las columnas de resultados.
Sintaxis
public java.sql.ResultSet getProcedureColumns(java.lang.String sCatalog, java.lang.String sSchema, java.lang.String proc, java.lang.String col)
Parámetros
sCatalog
Un String que contiene el nombre del catálogo. Si se proporciona un valor NULL en este parámetro, indicará que no es necesario utilizar el nombre de catálogo.
sSchema
Un String que contiene el modelo de nombre del esquema. Si se proporciona un valor NULL en este parámetro, indicará que no es necesario utilizar el nombre de esquema.
proc
Un String que contiene el patrón de nombre del procedimiento.
col
Un String que contiene el patrón de nombre de la columna. Si se proporciona un valor NULL en este parámetro, devolverá una fila para cada columna.
Valor devuelto
Un objeto SQLServerResultSet.
Excepciones
Comentarios
El método getProcedureColumns especifica este método getProcedureColumns en la interfaz java.sql.DatabaseMetaData.
El conjunto de resultados devuelto por el método getProcedureColumns contendrá la siguiente información:
Nombre | Type | Descripción |
---|---|---|
PROCEDURE_CAT | String | Nombre de la base de datos en la que reside el procedimiento almacenado. |
PROCEDURE_SCHEM | String | Esquema para el procedimiento almacenado. |
PROCEDURE_NAME | String | Nombre del procedimiento almacenado. |
COLUMN_NAME | String | Nombre de columna. |
COLUMN_TYPE | short | Tipo de la columna. Puede ser uno de los siguientes valores: procedureColumnUnknown (0) procedureColumnIn (1) procedureColumnInOut (2) procedureColumnOut (4) procedureColumnReturn (5) procedureColumnResult (3) |
DATA_TYPE | smallint | Tipo de datos SQL de java.sql.Types. |
TYPE_NAME | String | Nombre del tipo de datos. |
PRECISION | int | Número total de dígitos significativos. |
LENGTH | int | Longitud de los datos, en bytes. |
SCALE | short | Número de dígitos a la derecha del signo decimal. |
RADIX | short | Base de tipos numéricos. |
NULLABLE | short | Indica si la columna puede contener un valor NULL. Puede ser uno de los siguientes valores: procedureNoNulls (0) procedureNullable (1) procedureNullableUnknown (2) |
REMARKS | String | Descripción de esta columna de procedimientos. SQL Server no devuelve ningún valor para esta columna. |
COLUMN_DEF | String | Valor predeterminado de la columna. |
SQL_DATA_TYPE | smallint | Esta columna es igual que la columna DATA_TYPE, salvo por los tipos de datos datetime e interval de ISO. |
SQL_DATETIME_SUB | smallint | El subcódigo datetimeinterval de ISO si el valor de SQL_DATA_TYPE es SQL_DATETIME o SQL_INTERVAL. Para otros tipos de datos distintos de datetime e interval de ISO, esta columna es NULL. |
CHAR_OCTET_LENGTH | int | Número máximo de bytes en la columna. |
ORDINAL_POSITION | int | Índice de la columna en la tabla. |
IS_NULLABLE | String | Indica si la columna admite valores NULL. |
SS_TYPE_CATALOG_NAME | String | Nombre del catálogo que contiene el tipo definido por el usuario (UDT). |
SS_TYPE_SCHEMA_NAME | String | Nombre del esquema que contiene el tipo definido por el usuario (UDT). |
SS_UDT_CATALOG_NAME | String | Tipo definido por el usuario (UDT) del nombre completo. |
SS_UDT_SCHEMA_NAME | String | Nombre del catálogo donde se define el nombre de una colección de esquemas XML. Si no se encuentra el nombre de catálogo, esta variable contiene una cadena vacía. |
SS_UDT_ASSEMBLY_TYPE_NAME | String | Nombre del esquema donde se define el nombre de una colección de esquemas XML. Si no se puede encontrar el nombre de esquema, esta cadena estará vacía. |
SS_XML_SCHEMACOLLECTION_CATALOG_NAME | String | Nombre de una colección de esquemas XML. Si no se puede encontrar el nombre, esta cadena estará vacía. |
SS_XML_SCHEMACOLLECTION_SCHEMA_NAME | String | Nombre del catálogo que contiene el tipo definido por el usuario (UDT). |
SS_XML_SCHEMACOLLECTION_NAME | String | Nombre del esquema que contiene el tipo definido por el usuario (UDT). |
SS_DATA_TYPE | tinyint | Tipo de datos de SQL Server que utilizan los procedimientos almacenados extendidos. Para obtener más información sobre los tipos de datos que ha devuelto SQL Server, vea "Tipos de datos (Transact-SQL)" en los Libros en pantalla de SQL Server. |
Para obtener más información sobre los datos que devuelve el método getProcedureColumns, vea "sp_sproc_columns (Transact-SQL)" en los Libros en pantalla de SQL Server.
Ejemplo
En el siguiente ejemplo se muestra cómo utilizar el método getProcedureColumns para devolver información sobre el procedimiento almacenado uspGetBillOfMaterials en la base de datos de ejemplo SQL Server 2005AdventureWorks.
public static void executeGetProcedureColumns(Connection con) { try { DatabaseMetaData dbmd = con.getMetaData(); ResultSet rs = dbmd.getProcedureColumns(null, null, "uspGetBillOfMaterials", null); ResultSetMetaData rsmd = rs.getMetaData(); // Display the result set data. int cols = rsmd.getColumnCount(); while(rs.next()) { for (int i = 1; i <= cols; i++) { System.out.println(rs.getString(i)); } } rs.close(); } catch (Exception e) { e.printStackTrace(); } }