17.00 - 17.05 - FNC_TblOpRead - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

目的

テーブル演算子作成者は入力ストリームから行を読み取ることができます。この関数は、読み取りコンテキストをデータの次の入力行に設定します。

構文規則

int
FNC_TblOpRead(FNC_TblOpHandle_t *handle)
FNC_TblOpHandle_t *handle
入力ストリームに関連するハンドル。これは、FNC_TblOpOpenが返すハンドルである必要があります。

FNC_TblOpHandle_t構造の詳細については、テーブル演算子のデータ構造を参照してください。

戻り値

TBLOP_SUCCESS、TBLOP_EOF (データの終了)、TBLOP_ABORT、またはTBLOP_ERRORを示す整数。

使用上の注意

すべての入力行またはサブセットを読み取ることができます。アクセスの効率化を図るため、ハンドル構造体を通して直接データにアクセスすることができます。

最初にFNC_TblOpOpenを呼び出してから、 FNC_TblOpOpenから引数として返るハンドルをFNC_TblOpReadへ渡します。TBLOP_NOOPTIONSに設定されたoptionsフィールドでFNC_TblOpOpenを呼び出す場合には、読み取り呼び出しによりフィールド アクセスを作成し、FNC_TblOpGetAttributeByNdx経由で個々の属性に直接アクセスを許可するか、またはハンドル -> 行 -> インジケータ、columnptr[index]、およびlengths[index]経由で直接アクセスを許可します。

optionsフィールドがTBLOP_RAWMODEに設定されている場合には、以下の方法により未加工の行にアクセスすることができます。
Access handle->row to access the current raw row length, 
IndicData format, record body)

ファイルの終端を超えて読み取る場合には、TBLOP_EOFが返されます。PARTITION BY句を指定する場合には、パーティション内の最後の行の読み取り後にファイルの終端が現れます。

FNC_TblOpReadの使用例

この関数の使用例については、C テーブル演算子を参照してください。

関連トピック

現在の行に関する情報を保存するcurrent_row_t構造体の詳細については、テーブル演算子のデータ構造を参照してください。