17.00 - 17.05 - FNC_GetDatasetSchema - 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
日本語 (日本)

目的

DATASETデータ型インスタンスのスキーマを取得します。

構文規則

void
FNC_GetDatasetSchema ( DATASET_HANDLE              datasetHandle,
                       void*                       schemaBuf,
                       int                         schemaBufLen,
                       int*                        actualSchemaLength,
                       dataset_schema_encoding_t   schemaEncoding)
DATASET_HANDLE datasetHandle
外部ルーチンへの入力パラメータに定義されているDATASETデータ型インスタンスへのハンドル。
void* schemaBuf
スキーマを表わすJSON形式のUNICODE文字を含むパラメータを返します。
int schemaBufLen
スキーマを格納するために使用するバイト単位のバッファの長さ。
int* actualSchemaLength
このDATASETデータ型インスタンスのスキーマの長さをバイト単位で指定するパラメータを返します。
dataset_schema_encoding_t schemaEncoding
ユーザーがスキーマを取得するときに使用するエンコーディング。

使用上の注意

FNC_GetDatasetSchemaは、格納形式やサイズに関係なく、DATASETデータ型のスキーマを取得するために使用できます。スキーマは、schemaEncodingパラメータの値に応じてUTF-8またはUTF-16でエンコードされたUNICODEテキストとして返されます。

スキーマは、特別な書式を使用せず、そのJSONエンコードおよびUNICODE文字で返されることに注意してください。

FNC_GetDatasetInfoを使用して、スキーマを格納できる適切なバッファ サイズを決定します。このルーチンに渡されたバッファがスキーマ全体には小さすぎる場合、エラーが報告されます。

最高のパフォーマンスのため、スキーマがLOBとして保存されない場合のみ、FNC_GetDatasetSchemaを使用します。FNC_GetDatasetInfoがschemaLob = 0を返す場合、FNC_GetDatasetSchemaを使用できます。その他の場合は、代わりにFNC_GetDatasetSchemaLobを使用する必要があります。