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

SQLServerException

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

Concepts

SQLServerDatabaseMetaData Members