8.7.17 getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
(1) 機能
表の列情報を取得します。
このメソッドを実行したHADBユーザが持っている権限によって,取得できる表の列情報が変わります。権限と取得できる表の列情報については,マニュアルHADB システム構築・運用ガイドのHADBユーザが参照できるディクショナリ表とシステム表の範囲を参照してください。
(2) 形式
public synchronized ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
(3) 引数
- String catalog:
-
カタログ名を指定します。ただし,指定しても無視されます。
- String schemaPattern:
-
スキーマ名パターン※を指定します。大文字と小文字を区別します。
- String tableNamePattern:
-
表名パターン※を指定します。大文字と小文字を区別します。
- String columnNamePattern:
-
列名パターン※を指定します。大文字と小文字を区別します。
- 注※
-
各パターンに指定できる特殊文字については,「8.7.1 DatabaseMetaDataインタフェースのメソッド一覧」の「(4) パターン文字列中に指定できる特殊文字」を参照してください。
(4) 戻り値
ResultSetオブジェクトが返却されます。返却されるResultSetオブジェクトの形式を次の表に示します。
列番号 |
型 |
列名 |
列の意味 |
---|---|---|---|
1 |
String |
TABLE_CAT |
常に空の文字列を返します。 |
2 |
String |
TABLE_SCHEM |
スキーマ名 |
3 |
String |
TABLE_NAME |
表名 |
4 |
String |
COLUMN_NAME |
列名 |
5 |
int |
DATA_TYPE |
SQLの型 |
6 |
String |
TYPE_NAME |
型名 |
7 |
int |
COLUMN_SIZE |
列サイズ |
8 |
int |
BUFFER_LENGTH |
常にナル値を返します。 |
9 |
int |
DECIMAL_DIGITS |
小数点以下の桁数 |
10 |
int |
NUM_PREC_RADIX |
基数
|
11 |
int |
NULLABLE |
この型にナル値を使用できるかどうかを返します。
|
12 |
String |
REMARKS |
コメント記述列 常に空の文字列を返します。 |
13 |
String |
COLUMN_DEF |
列の既定値を返します。
|
14 |
int |
SQL_DATA_TYPE |
常にナル値を返します。 |
15 |
int |
SQL_DATETIME_SUB |
常にナル値を返します。 |
16 |
int |
CHAR_OCTET_LENGTH |
CHAR型の列の最大バイト数 |
17 |
int |
ORDINAL_POSITION |
列番号 1から始まります。 |
18 |
String |
IS_NULLABLE |
この型にナル値が使用できるかどうかを返します。
|
19 |
String |
SCOPE_CATALOG |
常に空の文字列を返します。 |
20 |
String |
SCOPE_SCHEMA |
常に空の文字列を返します。 |
21 |
String |
SCOPE_TABLE |
常に空の文字列を返します。 |
22 |
short |
SOURCE_DATA_TYPE |
常にナル値を返します。 |
23 |
String |
IS_AUTOINCREMENT |
列が自動インクリメントされるかどうかを示します。
|
(5) 発生する例外
このメソッドを実行する前に,Connectionオブジェクトがクローズされている場合,SQLExceptionが投入されます。
(6) 留意事項
次に示す2つのメソッドで取得した,ビュー表の列情報の値が異なることがあります。
-
このメソッドで取得したResultSetオブジェクトのDECIMAL_DIGITSの値
-
ResultSetMetaDataインタフェースのgetScaleメソッドで取得した値
上記の1.では,ビュー表を定義したときの位取りの値を取得します。一方,上記の2.では,ビュー表を検索したときの位取りの値を取得します。サーバ定義またはクライアント定義のadb_sql_prep_dec_div_rs_priorオペランドの指定値が,ビュー表を定義したときとビュー表を検索したときで異なる場合は,上記の2つの値が異なります。