Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.10.7 SQLSpecialColumns,SQLSpecialColumnsW

〈この項の構成〉

(1) 機能

指定されたテーブルの列に関する次のどちらかの情報を取得します。

SQL文の結果セットの形式で出力します。

ただし,自動的に列を更新する機能をサポートしていないため,検索結果セットの行数は常に0になります。

(2) 形式

(3) 引数

StatementHandle

ステートメントハンドルを指定します。

この関数を実行する前にSQLAllocHandle*OutputHandlePtrで出力された値を指定します。

IdentifierType

返す列の種類として,次の値のどちらかを指定します。

IdentifierType

内容

SQL_BEST_ROWID

列から値を取得することで,指定されたテーブルの行が一意に識別できる最適な列または列のセットを返します。

行を一意に識別できるインデクスの列がテーブル内に存在する場合はその列を返します。テーブル内にそういった列が存在しない場合は行を識別できるように一時的に作成した擬似列が返されます。

SQL_ROWVER

トランザクションによって行の値が更新される場合,指定されたテーブル内にデータソースによって自動的に更新される列があるとき,その列が返されます。

CatalogName

テーブルに対するカタログ名を指定します。

NameLength1

*CatalogNameの長さを指定します。

SchemaName

テーブルに対するスキーマ名を指定します。

NameLength2

*SchemaNameの長さを指定します。

TableName

テーブル名を指定します。

NameLength3

*TableNameの長さを指定します。

Scope

必要最小限の行IDの有効範囲を次の値から選んで指定します。

Scope

内容

SQL_SCOPE_CURROW

行IDは,その行に位置づけられている間だけ有効です。

SQL_SCOPE_TRANSACTION

行IDは,現在のトランザクション中だけ有効です。

SQL_SCOPE_SESSION

行IDは,セッション(トランザクション境界にわたる)中,有効です。

Nullable

ナル値を格納する特別な列を返すかどうかを指定します。

次の値のどちらかを指定します。

Nullable

内容

SQL_NO_NULLS

ナル値を格納できる特別な列を除きます。ドライバには,SQL_NO_NULLSをサポートできないものもあり,SQL_NO_NULLSが指定されると,空の結果セットを返すため,注意が必要です。アプリケーションはこれを踏まえて,必要な場合にだけSQL_NO_NULLSを指定します。

SQL_NULLABLE

ナル値が格納されている場合でも,特別な列を返します。

注※

長さの単位は,SQLSpecialColumnsの場合はバイト長,SQLSpecialColumnsWの場合は文字数となります。

(4) 戻り値

SQL_SUCCESSSQL_ERROR,またはSQL_INVALID_HANDLEが返されます。

(5) SQLSTATE

この関数では次のSQLSTATEを返します。

SQLSTATE

説明

備考

返却

01000

一般警告

×

08S01

通信リンク失敗

×

24000

無効なカーソル状態

カーソルがオープンしている状態のときに実行されました。

40001

直列化の失敗

×

40003

ステートメントの完了が不明

×

HY000

一般エラー

×

HY001

メモリ割り当てエラー

HY008

動作がキャンセルされた

×

HY009

NULLポインタの不正使用

×

HY010

関数シーケンスエラー

HY013

メモリ管理エラー

×

HY090

無効な文字列長または無効なバッファ長

×

HY097

IdentifierTypeに無効な値を指定された

×

HY098

Scopeに無効な値を指定された

×

HY099

Nullableに無効な値を指定された

×

HY117

接続がサスペンド中

×

HYC00

オプション機能は実装されていない

×

HYT00

タイムアウト終了

×

HYT01

接続タイムアウト終了

×

IM001

ドライバはこの関数をサポートしていない

×

IM017

非同期ポーリングが不正

×

IM018

非同期実行が未完了

×

(凡例)

○:HADB ODBCドライバが返すことがあるSQLSTATEです。

×:HADB ODBCドライバが返さないSQLSTATEです。

−:なし。