getProcedureColumns Method (SQLServerDatabaseMetaData)
Retrieves a description of the stored procedure parameters and result columns.
Syntax
public java.sql.ResultSet getProcedureColumns(java.lang.String sCatalog,
java.lang.String sSchema,
java.lang.String proc,
java.lang.String col)
Parameters
sCatalog
A String that contains the catalog name. Providing a null to this parameter indicates that the catalog name does not need to be used.
sSchema
A String that contains the schema name pattern. Providing a null to this parameter indicates that the schema name does not need to be used.
proc
A String that contains the procedure name pattern.
col
A String that contains the column name pattern. Providing a null to this parameter returns a row for each column.
Return Value
A SQLServerResultSet object.
Exceptions
Remarks
This getProcedureColumns method is specified by the getProcedureColumns method in the java.sql.DatabaseMetaData interface.
The result set returned by the getProcedureColumns method will contain the following information:
Name |
Type |
Description |
---|---|---|
PROCEDURE_CAT |
String |
The name of the database in which the specified stored procedure resides. |
PROCEDURE_SCHEM |
String |
The schema for the stored procedure. |
PROCEDURE_NAME |
String |
The name of the stored procedure. |
COLUMN_NAME |
String |
The name of the column. |
COLUMN_TYPE |
short |
The type of the column. It can be one of the following values: procedureColumnUnknown (0) procedureColumnIn (1) procedureColumnInOut (2) procedureColumnOut (4) procedureColumnReturn (5) procedureColumnResult (3) |
DATA_TYPE |
smallint |
The SQL data type from java.sql.Types. |
TYPE_NAME |
String |
The name of the data type. |
PRECISION |
int |
The total number of significant digits. |
LENGTH |
int |
The length of the data in bytes. |
SCALE |
short |
The number of digits to the right of the decimal point. |
RADIX |
short |
The base for numeric types. |
NULLABLE |
short |
Indicates if the column can contain a null value. It can be one of the following values: procedureNoNulls (0) procedureNullable (1) procedureNullableUnknown (2) |
REMARKS |
String |
The description of the procedure column. Note SQL Server does not return a value for this column. |
COLUMN_DEF |
String |
The default value of the column. |
SQL_DATA_TYPE |
smallint |
This column is the same as the DATA_TYPE column, except for the datetime and ISO interval data types. |
SQL_DATETIME_SUB |
smallint |
The datetime ISO interval subcode if the value of SQL_DATA_TYPE is SQL_DATETIME or SQL_INTERVAL. For data types other than datetime and ISO interval, this column is NULL. |
CHAR_OCTET_LENGTH |
int |
The maximum number of bytes in the column. |
ORDINAL_POSITION |
int |
The index of the column within the table. |
IS_NULLABLE |
String |
Indicates if the column allows null values. |
SS_TYPE_CATALOG_NAME |
String |
The name of the catalog that contains the user-defined type (UDT). |
SS_TYPE_SCHEMA_NAME |
String |
The name of the schema that contains the user-defined type (UDT). |
SS_UDT_CATALOG_NAME |
String |
The fully-qualified name user-defined type (UDT). |
SS_UDT_SCHEMA_NAME |
String |
The name of the catalog where an XML schema collection name is defined. If the catalog name cannot be found, this variable contains an empty string. |
SS_UDT_ASSEMBLY_TYPE_NAME |
String |
The name of the schema where an XML schema collection name is defined. If the schema name cannot be found, this is an empty string. |
SS_XML_SCHEMACOLLECTION_CATALOG_NAME |
String |
The name of an XML schema collection. If the name cannot be found, this is an empty string. |
SS_XML_SCHEMACOLLECTION_SCHEMA_NAME |
String |
The name of the catalog that contains the user-defined type (UDT). |
SS_XML_SCHEMACOLLECTION_NAME |
String |
The name of the schema that contains the user-defined type (UDT). |
SS_DATA_TYPE |
tinyint |
The SQL Server data type that is used by extended stored procedures. Note For more information about the data types returned by SQL Server, see "Data Types (Transact-SQL)" in SQL Server Books Online. |
Note
For more information about the data returned by the getProcedureColumns method, see "sp_sproc_columns (Transact-SQL)" in SQL Server Books Online.
Example
The following example demonstrates how to use the getProcedureColumns method to return information about the uspGetBillOfMaterials stored procedure in the SQL Server 2005 AdventureWorks sample database.
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();
}
}
See Also
Reference
SQLServerDatabaseMetaData Class