SQL列の属性 - ODBC Driver for Teradata

ODBC Driver for Teradata® ユーザー ガイド

Product
ODBC Driver for Teradata
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/wxs1608578396899.ditamap
dita:ditavalPath
ja-JP/wxs1608578396899.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities

SQLColAttributeは、ODBC Driver for Teradata定義のいくつかの列属性をFieldIdentifier引数としてサポートしています。また、SQL_COLUMN_NAMEを使用すると、名前ではなくデータベースのTITLE(存在する場合)が返されます。大半のレポート ライターにとっては、その方がより実用的であるからです。

ドライバ定義の属性値を取得するためにSQLColAttributeを使用するときは、その属性の型をBufferLength引数で指定する必要があります。また、SQLColAttributeは、その型に応じて2つのポインタのいずれかで値を返します。整数型の情報は、SQLLEN値として*NumericAttributePtrで返されます。それ以外の形式の情報は、*CharacterAttributePtrで返されます。特定の属性では使用されないポインタは、呼び出しでNULLに設定しておきます。例えば、SQL_DESC_TD_ODBC_TYPE属性の値を取得するには、次のように呼び出します。

rc = SQLColAttribute(hstmt, colno, SQL_DESC_TD_ODBC_TYPE, NULL, SQL_IS_SMALLINT, NULL, &NumAttrPtr);

次のリストでは、ODBC Driver for Teradataで定義された属性ごとに使用されるポインタを示します。

ドライバ定義のFieldIdentifier値
FieldIdentifier 戻り値が返される変数 説明
SQL_COLUMN_ACTIVITY_TYPE NumericAttributePtr 実行されるSQL文の種類を指定する整数。
SQL_COLUMN_COST_ESTIMATE NumericAttributePtr SQL文の実行のコスト見積もりが入る整数。

返される値は、時間の見積もりを秒単位で表します。

SQL_COLUMN_FORMAT CharacterAttributePtr 列と関連付けられているTeradata FORMAT句が返されます。
SQL_COLUMN_ACTUAL_NAME CharacterAttributePtr 結果列と関連付けられている名前。

SQL_COLUMN_NAMEの意味が変わったので、このFieldIdentifier値は必要です。

SQL_COLUMN_CHARACTER_SET NumericAttributePtr 列の文字セットが入っている整数。
SQL_COLUMN_EXPORT_WIDTH NumericAttributePtr 文字の列のデータベース エクスポート幅が入っている整数。
SQL_COLUMN_EXPORT_WIDTH_ADJ NumericAttributePtr 文字の列のデータベース エクスポートの幅調整が入っている整数。
SQL_COLUMN_EXPORT_BYTES NumericAttributePtr データベースが文字の列に提供するバイト数が入っている整数。
SQL_DESC_TD_ODBC_TYPE NumericAttributePtr Teradata ODBC固有のSQLデータ型コードが入っているSQLSMALLINT。

同じ標準ODBC SQL 型に複数の種類のデータベース型が含まれている場合は、Teradata ODBC固有のSQLデータ型コードを使用してデータベースの種類を識別することができます。

これらの属性の詳細については、SQL記述子フィールドを参照してください。