Hitachi

Hitachi Advanced Data Binder AP開発ガイド


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オブジェクトの形式を次の表に示します。

表8‒54 返却されるResultSetオブジェクトの形式(getColumnsメソッドの場合)

列番号

型

列名

列の意味

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

基数

  • 概数値:2

  • 真数値:10

  • 数値以外:0

11

int

NULLABLE

この型にナル値を使用できるかどうかを返します。

  • columnNoNulls:ナル値を使用できない可能性があります。

  • columnNullable:ナル値を使用できます。

12

String

REMARKS

コメント記述列

常に空の文字列を返します。

13

String

COLUMN_DEF

列の既定値を返します。

  • 返却された値がアポストロフィ( ' )で囲まれている場合は,列の既定値が文字列であることを意味しています。

  • 列の既定値にNULLが指定された場合は,アポストロフィ( ' )で囲まれていないNULLという文字列を返します。

  • 列の既定値が指定されていない場合は,ナル値を返します。

  • そのほかの返却値については,マニュアルHADB システム構築・運用ガイドのSQL_COLUMNSの内容のDEFAULT_VALUE列を参照してください。

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

この型にナル値が使用できるかどうかを返します。

  • "NO":ナル値を使用できません。

  • "YES":ナル値を使用できる可能性があります。

19

String

SCOPE_CATALOG

常に空の文字列を返します。

20

String

SCOPE_SCHEMA

常に空の文字列を返します。

21

String

SCOPE_TABLE

常に空の文字列を返します。

22

short

SOURCE_DATA_TYPE

常にナル値を返します。

23

String

IS_AUTOINCREMENT

列が自動インクリメントされるかどうかを示します。

  • "NO":列が自動インクリメントされません。

    常にNOを返します。

(5) 発生する例外

このメソッドを実行する前に,Connectionオブジェクトがクローズされている場合,SQLExceptionが投入されます。

(6) 留意事項

次に示す2つのメソッドで取得した,ビュー表の列情報の値が異なることがあります。

  1. このメソッドで取得したResultSetオブジェクトのDECIMAL_DIGITSの値

  2. ResultSetMetaDataインタフェースのgetScaleメソッドで取得した値

上記の1.では,ビュー表を定義したときの位取りの値を取得します。一方,上記の2.では,ビュー表を検索したときの位取りの値を取得します。サーバ定義またはクライアント定義のadb_sql_prep_dec_div_rs_priorオペランドの指定値が,ビュー表を定義したときとビュー表を検索したときで異なる場合は,上記の2つの値が異なります。