getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
Syntax:
ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
Description:
Retrieves a description of table columns available in the specified catalog.
Only column descriptions matching the catalog, schema, table and column name criteria are returned. They are ordered by TABLE_CAT,TABLE_SCHEM, TABLE_NAME, and ORDINAL_POSITION.
Each column description has the following columns:
TYPE_CAT | String | type catalog (may be null) |
TYPE_SCHEM | String | type schema (may be null) |
TYPE_NAME | String | type name |
ATTR_NAME | String | attribute name |
DATA_TYPE | int | attribute type SQL type from java.sql.Types |
ATTR_TYPE_NAME | String | Data source dependent type name. For a UDT, the type name is fully qualified. For a REF, the type name is fully qualified and represents the target type of the reference type. |
ATTR_SIZE | int | column size. For char or date types this is the maximum number of characters; for numeric or decimal types this is precision. |
DECIMAL_DIGITS | int | the number of fractional digits. Null is returned for data types where DECIMAL_DIGITS is not applicable. |
NUM_PREC_RADIX | int | Radix (typically either 10 or 2) |
NULLABLE | int | whether NULL is allowed
|
REMARKS | String | comment describing column (may be null) |
ATTR_DEF | String | default value (may be null) |
SQL_DATA_TYPE | int | unused |
SQL_DATETIME_SUB | int | unused |
CHAR_OCTET_LENGTH | int | for char types the maximum number of bytes in the column |
ORDINAL_POSITION | int | index of the attribute in the UDT (starting at 1) |
IS_NULLABLE | String | ISO rules are used to determine the nullability for a attribute.
|
SCOPE_CATALOG | String | catalog of table that is the scope of a reference attribute (null if DATA_TYPE isn't REF) |
SCOPE_SCHEMA | String | schema of table that is the scope of a reference attribute (null if DATA_TYPE isn't REF) |
SCOPE_TABLE | String | table name that is the scope of a reference attribute (null if the DATA_TYPE isn't REF) |
SOURCE_DATA_TYPE | short | source type of a distinct type or user-generated Ref type,SQL type from java.sql.Types (null if DATA_TYPE isn't DISTINCT or user-generated REF) |
IS_AUTOINCREMENT | String | Indicates whether this column is auto incremented
|
The COLUMN_SIZE
column the specified column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID
datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
Parameters:
catalog - a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
schemaPattern - a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
tableNamePattern - a table name pattern; must match the table name as it is stored in the database
columnNamePattern - a column name pattern; must match the column name as it is stored in the database
Returns:
ResultSet
- each row is a column description
Throws:
SQLException - if a database access error occurs or the database metadata object is closed