中間集約記憶域
集約ライブラリ関数は、集約関数の中で集約情報を累積するために必要な中間記憶域を割り当てます。
目的 | 使用するライブラリ関数 |
---|---|
集約関数の中で集約情報を累積するための中間記憶域を割り振る | FNC_DefMem |
ARRAYデータ型インターフェース
ARRAYインターフェース関数を使用すると、UDF、UDM、または外部ストアド プロシージャでARRAYデータ型の構成要素の値にアクセスしたり、その値を設定できるようになります。
目的 | 使用するライブラリ関数 |
---|---|
ARRAY入力パラメータのうち値(NULLを含む)が設定されている構成要素の合計数を取得する | FNC_GetArrayElementCount |
ARRAY入力パラメータについての情報(構成要素のデータ型、次元数、構成要素の合計数、スコープ情報など)を取得する | FNC_GetArrayTypeInfo_EON |
ARRAY入力パラメータに定義された次元数を取得する(この情報が外部ルーチンで不明な場合) | FNC_GetArrayNumDimensions |
NullBitVectorの1つのビット、またはすべてのビットを設定する | FNC_SetNullBitVector |
NullBitVector内の1つのビットの値を検査する | FNC_CheckNullBitVector |
NullBitVector内の1つのビットを設定する。ただし、設定対象のビットは次元で指定するようにARRAY型構成要素のインデックスで参照する | FNC_SetNullBitVectorByElemIndex |
NullBitVector内の1つのビットの値を検査する。ただし、検査対象のビットは次元で指定するようにARRAY型構成要素のインデックスで参照する | FNC_CheckNullBitVectorByElemIndex |
ARRAY型の1つ以上の構成要素を範囲で取得し、NULLまたは存在しない構成要素に対するNullBitVectorのビットを0に設定する | FNC_GetArrayElements |
ARRAY戻りパラメータの1つ以上の構成要素に同一の値を設定する | FNC_SetArrayElements |
ARRAY戻りパラメータの1つ以上の構成要素に値を設定する(各構成要素に個別の値を設定する場合) | FNC_SetArrayElementsWithMultiValues |
1つ以上のUDT_HANDLESを取得する(このハンドルを使用すると、エレメント タイプがUDTのARRAYデータ型の構成要素を操作できます) | FNC_GetUDTHandles |
DATASETデータ型インターフェース
次の関数を使用して、UDF、または外部ストアド プロシージャでDATASETパラメータの値にアクセスして設定したり、DATASET型パラメータに関する情報を取得したりできます。
目的 | 使用するライブラリ関数 |
---|---|
最大長、インライン長、格納形式などのDATASET型インスタンスに関する情報を取得する | FNC_GetDatasetInfo |
DATASET型インスタンスのスキーマを取得する | FNC_GetDatasetSchema |
LOB FNCルーチンを使用して、LOBとして格納されているDATASET型インスタンスのスキーマを読み取る | FNC_GetDatasetSchemaLob |
DATASETデータがLOBとして保存されない場合、DATASET型インスタンスの値を取得する | FNC_GetInternalValue |
DATASETデータがLOBとして保存されない場合、DATASET型インスタンスの値を設定する | FNC_SetInternalValue |
LOB FNCルーチンを使用して、LOB として格納されているDATASETデータを読み取る | FNC_GetDatasetInputLob |
DATASETデータをDATASETインスタンスに関連付けられたLOBに書き込む | FNC_GetDatasetResultLob |
LOB_LOCATORをDATASET型インスタンスに渡し、ロケータによって参照されるデータをインスタンスで使用して、そのスキーマとバイナリ コード化されたAvro値を設定できるようにする | FNC_SetDatasetLob |
Geospatialデータ型インターフェース
次の関数により、外部ルーチンを使用して、ST_Geometry型、MBR型、およびMBB型のGeospatialデータにアクセス、操作し、返すことができます。
目的 | 使用するライブラリ関数 |
---|---|
ST_Geometry型の最大長およびLOBとして保存されるかどうかの表示を取得する | FNC_GetGeometryInfo |
インラインST_Geometry値(つまり、LOBとして保存されない値)のWKT (Well-Known Text)表現を取得する | FNC_GeomGetWKT |
LOBとして保存されるST_Geometry値のWKT表現を取得する | FNC_GeomGetWKTClob |
ST_Geometry WKTのバイト単位の長さを取得する | FNC_GeomGetWKTSize |
UDF/UDMの戻り値、または外部ストアド プロシージャのINOUTパラメータまたはOUTパラメータであるST_GeometryのCLOBへのLOBロケータを取得する | FNC_GeomGetResultWKTClob |
WKT文字列を使用してST_Geometry型の値を設定する | FNC_GeomSetWKT |
WKT CLOBを使用してST_Geometry型の値を設定する | FNC_GeomSetWKTClob |
インラインST_Geometry値(つまり、LOBとして保存されない値)のWKB (Well-Known Binary)表現を取得する | FNC_GeomGetWKB |
LOBとして保存されるST_Geometry値のWKB表現を取得する | FNC_GeomGetWKBBlob |
ST_Geometry WKBのバイト単位の長さを取得する | FNC_GeomGetWKBSize |
UDF/UDMの戻り値、または外部ストアド プロシージャのINOUTパラメータまたはOUTパラメータであるST_GeometryのBLOBへのLOBロケータを取得する | FNC_GeomGetResultWKBBlob |
ジオメトリのWKB表現を使用してST_Geometry型の値を設定する | FNC_GeomSetWKB |
ジオメトリのWKB BLOB表現を使用してST_Geometry型の値を設定する | FNC_GeomSetWKBBlob |
MBR (最小外接矩形)型を定義する4つの座標値を含むバッファを返す | FNC_MBRGetValue |
バッファを使用してMBR型を定義する4つの座標値を設定する | FNC_MBRSetValue |
MBB (最小外接ボックス)型を定義する6つの座標値を含むバッファを返す | FNC_MBBGetValue |
バッファを使用してMBBを定義する6つの座標値を設定する | FNC_MBBSetValue |
グローバル情報
グローバル情報関数は、UDF、UDM、または外部ストアド プロシージャの現在の実行に関連したセッション情報を戻します。
目的 | 使用するライブラリ関数 |
---|---|
現在実行されているUDF、UDM、または外部ストアド プロシージャに関連するユーザー アカウント、ユーザー名、ユーザーID、セッション番号などのグローバル情報を取得する | FNC_DbsInfo_EON |
GLOPアクセス
GLOPアクセス関数は、外部ルーチンがGLOPセットにマップし、データにアクセスする方法を提供します。先にFNC_Get_GLOP_Mapを呼び出してから、それ以外のGLOP関数を呼び出す必要があります。
目的 | 使用するライブラリ関数 |
---|---|
外部ルーチンと関連するGLOPセット マップ情報を取得する | FNC_Get_GLOP_Map |
読み取り専用GLOPのさまざまなページをマップする、または読み取り/書き込みあるいはグローバルに変更可能なGLOPの単一ページを再ロードする | FNC_GLOP_Map_Page |
読み取りまたは書き込み用のvprocローカルGLOPをロックする | FNC_GLOP_Lock |
前にロックしたGLOPをアンロックする | FNC_GLOP_Unlock |
1マッピング インスタンスのGLOPデータを、すべてのノードのすべてのvproc上のすべてのマッピング インスタンスのGLOPデータにコピーする | FNC_GLOP_Global_Copy |
現在実行中の外部ルーチンの特定のノードID、vproc ID、vprocタイプ、およびタスクIDに関する情報を取得する | FNC_Where_Am_I |
JSONデータ型インターフェース
次の関数を使用して、UDF、UDM、または外部ストアド プロシージャでJSONパラメータの値にアクセスして設定したり、JSON型パラメータに関する情報を取得したりできます。
目的 | 使用するライブラリ関数 |
---|---|
JSON型の最大長と文字セットおよびJSONデータをLOBとして保存するかどうかの表示を取得する | FNC_GetJSONInfo |
JSON型インスタンスの最大長、インライン長、文字セット、格納形式、およびJSONデータをLOBとして保存するかどうかの指示を取得する | FNC_GetExtendedJSONInfo |
JSONデータがLOBとして保存ない場合に、JSON型インスタンスの文字列表現を取得する | FNC_GetInternalValue |
JSONデータがLOBとして保存されない場合、JSON型インスタンスの値を設定する | FNC_SetInternalValue |
データをLOBとして保存しているJSONインスタンスのLOB_LOCATORを取得し、このロケータをLOB FNCルーチンと共に使用して、JSONインスタンスからデータを読み取る | FNC_GetJSONInputLob |
JSONインスタンスに関連したLOBへのLOB_RESULT_LOCATORを取得し、このロケータをLOB FNCルーチンと共に使用して、JSONインスタンスにデータを書き込む | FNC_GetJSONResultLob |
JSONデータ型をSTRUCTURED型UDTの属性として指定できます。JSON属性を含むSTRUCTURED型UDTを外部ルーチンとやり取りする場合、次のインターフェース機能を使用して、JSON属性の値にアクセスしたり、値を設定したり、またJSON属性に関する情報を取得することができます。
目的 | 使用するライブラリ関数 |
---|---|
最大長、文字セット、属性のデータがLOBとして保存されているかなどのJSON属性に関する情報を取得する | FNC_GetStructuredAttributeInfo_EON |
JSON属性がLOBとして保存ない場合にJSON属性の文字列表現を取得する | FNC_GetStructuredAttribute |
JSONデータがLOBとして保存ない場合に、JSON属性に対してJSONドキュメントの文字列表現を設定する | FNC_SetStructuredAttribute |
JSON属性のデータを保存するLOBへのLOB_LOCATORを取得し、このロケータをLOB FNCルーチンと共に使用して、属性からデータを読み込む | FNC_GetStructuredInputLobAttribute |
JSON属性のデータが保存されている可能性があるLOBへのLOB_RESULT_LOCATORを取得し、このロケータをLOB FNCルーチンと共に使用して、データを属性に書き込む | FNC_GetStructuredResultLobAttribute |
LOBアクセス
LOBアクセス関数は、UDF、UDM、または外部ストアド プロシージャでロケータを使用することにより、参照されているオブジェクトの内容にアクセスしたり、LOBオブジェクトにデータを追加したりするために使用します。
目的 | 使用するライブラリ関数 |
---|---|
ラージ オブジェクトの長さをバイト数単位で取得する | FNC_GetLobLength |
UDFまたは外部プロシージャの結果オブジェクトとして定義されているラージ オブジェクト、またはUDTに含まれているラージ オブジェクトに、バイト シーケンスを追加する | FNC_LobAppend |
データの末尾に達したかどうかに関係なく、読み取りコンテキストに関連するすべてのリソースを解放する | FNC_LobClose |
ロケータを永続オブジェクト参照に変換する | FNC_LobLoc2Ref |
参照されているオブジェクトのそれ以降の順次読み取りで使用する読み取りコンテキストを確立する | FNC_LobOpen |
指定されたコンテキストを使用して、順次読み取りを実行する | FNC_LobRead |
永続オブジェクト参照をロケータに変換する | FNC_LobRef2Loc |
メモリ割り当て
データベースでメモリ リークが発生しないようにするため、sqltypes_td.hヘッダー ファイルの中で、Teradataのライブラリ関数FNC_mallocおよびFNC_freeを使用するよう、mallocおよびfreeが再定義されています。
PERIODデータ型インターフェース
PERIODパラメータまたは戻り型の値にアクセスするかそれを設定するために、外部ルーチンは特定のライブラリ関数を使用する必要があります。
目的 | 使用するライブラリ関数 |
---|---|
PERIOD型の値を取得する | FNC_GetInternalValue |
PERIOD型の値を設定する | FNC_SetInternalValue |
クエリー バンド アクセス
UDF、UDM、または外部ストアド プロシージャは、クエリー バンド アクセス関数を使用して、クエリーの元のソースを識別したり、タスクの優先順位の管理やシステムの使用状況の追跡を支援するために、セッション、トランザクションまたはプロファイルに設定されたクエリー バンド名/値ペアを取得できます。
目的 | 使用するライブラリ関数 |
---|---|
トランザクション、セッション、プロファイルについて、現行のクエリー バンド文字列を取得する | FNC_GetQueryBand |
FNC_GetQueryBandが戻すクエリー バンド文字列から、トランザクション、セッションまたはプロファイルの名前/値ペアを取得する | FNC_GetQueryBandPairs |
FNC_GetQueryBandが戻すクエリー バンド文字列のトランザクション、セッションまたはプロファイルの名前/値ペアを検索し、指定された名前についての値を取得する | FNC_GetQueryBandValue |
ストアド プロシージャ呼び出し
外部ストアド プロシージャは、ストアド プロシージャ呼び出し関数を呼び出すことができます。
目的 | 使用するライブラリ関数 |
---|---|
外部ストアド プロシージャ内からストアド プロシージャを呼び出す | FNC_CallSP |
文字列引数と結果の処理
UDF、UDM、または外部ストアド プロシージャでは、BYTE、CHAR、CHARACTER(n) CHARACTER SET GRAPHIC、またはVARCHARの入力パラメータ、出力パラメータ、または結果を扱うときに、文字列の引数と結果を処理する関数を使用できます。
これらの関数は、テーブル列のアルゴリズム圧縮および圧縮解除に使用する関数に対しては特に役立ちます。
目的 | 使用するライブラリ関数 |
---|---|
スカラーUDFまたは集約UDFが結果として返す必要がある、出力バッファのサイズを判断する | FNC_GetOutputBufferSize |
データ型がBYTEの、外部ルーチンの入力引数の長さをバイト単位で取得する | FNC_GetByteLength |
データ型がCHARの、外部ルーチンの入力引数の長さをバイト単位で取得する | FNC_GetCharLength |
データ型がCHARACTER CHARACTER SET GRAPHICの、外部ルーチンの入力引数の長さをバイト単位で取得する | FNC_GetGraphicLength |
データ型がVARCHARの、外部ルーチンの入力引数の長さをバイト単位で取得する | FNC_GetVarCharLength |
データ型がVARCHARの、外部ストアド プロシージャの出力パラメータの長さ、またはUDFやUDMの結果の長さをバイト単位で設定する | FNC_SetVarCharLength |
テーブル関数処理
テーブル関数処理関数は、テーブルUDFから呼び出します。
目的 | 使用するライブラリ関数 |
---|---|
テーブル関数がSELECT文のFROM TABLE句で呼び出された方法と、取るべきアクションを判別する | FNC_GetPhase |
FNC_GetPhaseEx | |
制御コピーにするテーブル関数の1コピーを指定する(制御コピーは、他のAMP vproc上で実行する他のコピーにグローバル制御データを配布できる) | FNC_TblControl |
制御スクラッチパッドを使用して、テーブル関数の制御コピーから他のすべてのAMP vproc上で実行する他のすべてのコピーにデータを伝播する | FNC_TblAllocCtrlCtx |
FNC_TblGetCtrlCtx | |
汎用スクラッチパッドを使用して、ローカル テーブル関数のコピーの反復実行間でデータを保持する | FNC_TblAllocCtx |
FNC_TblGetCtx | |
行を戻す処理に参加しない | FNC_TblOptOut |
テーブル関数のコピーがエラー条件を検出して処理を継続できない場合に、リクエストを手順どおりにアボートする | FNC_TblAbort |
テーブル関数が特定のAMP上で実行するための自己構成に使用できるノードIDとAMP IDの情報を取得する | FNC_TblGetNodeData |
FNC_AMPInfo | |
どのAMP上でも実行可能であり、トランザクションおよびリクエストに参加するために1コピーだけを必要とするテーブル関数を実装する | FNC_TblFirstParticipant |
動的な結果行指定のテーブル関数によって戻される必要がある結果列の定義を取得する | FNC_TblGetColDef |
テーブル演算子インターフェース
テーブル演算子インターフェース関数を使用すると、テーブル演算子およびコントラクト関数作成者は、メータデータへのアクセスや設定ができるようになります。これらはまた、入力ストリームと出力ストリームの行の読み取り/書き込みをするためのインターフェースを提供します。
テーブル演算子FNC関数は、以下の文字セットを扱います。
- どの文字列パラメータも、文字セットはテーブル演算子作成時に定義された文字セットと一致します。これは、既存のUDFの動作と同じです。
- 文字列の比較を行なう関数(FNC_TblOpGetCustomValueなど)はすべて、大文字と小文字を区別します。
以下の関数は、演算子全体または特定のストリームに関連するメタデータへのアクセスを提供します。これらの関数はまた、演算子全体または個々のストリームのメタデータを設定するメカニズムを提供します。
目的 | 使用するライブラリ関数 |
---|---|
テーブル演算子に関連付けられた固有識別子を取得する | FNC_TblOpGetUniqID |
ストリームの列定義の取得 | FNC_TblOpGetColDef |
ストリーム中の列数の取得 | FNC_TblOpGetColCount |
UDTまたは複合データ型(CDT)の基本型または属性型に関する情報を取得する | FNC_TblOpGetBaseInfo |
入力または出力ストリームの1つまたは複数のUDT列に関するメタデータ情報を取得する | FNC_TblOpGetUDTMetadata |
STRUCTURED型UDTタイプのすべての属性に関する情報を取得する | FNC_TblOpGetStructuredAttributeInfo |
カスタム句のキー数の取得 | FNC_TblOpGetCustomKeyCount |
カスタム句内のキーに関連する値の数、合計サイズ(バイト単位)、および型の取得 | FNC_TblOpGetCustomKeyInfoOf |
特定インデックスのカスタム句内の値の数、合計サイズ(バイト単位)、および型の取得 | FNC_TblOpGetCustomKeyInfoAt |
カスタム句内のキーに関連するすべての値の取得 | FNC_TblOpGetCustomValuesOf |
入力ストリームと関連した別名(AS名前)を取得する | FNC_TblOpGetAsClauseName |
入力ストリームのHASH BY情報の取得 | FNC_TblOpGetHashByDef |
HASH BY句内の列数の取得 | FNC_TblOpGetCountHashByDef |
入力ストリームのLOCAL ORDER BY情報の取得 | FNC_TblOpGetLocalOrderByDef |
LOCAL ORDER BY句内の列数の取得 | FNC_TblOpGetCountLocalOrderByDef |
コントラクト関数作成者に対するHASH BY指定設定の許可 | FNC_TblOpSetHashByDef |
コントラクト関数作成者に対する整列指定設定の許可 | FNC_TblOpSetLocalOrderByDef |
テーブル演算子への入力がDIMENSION入力かどうかを検出する | FNC_TblOpIsDimension |
出力ストリームの出力列の構文解析プログラムとのやりとり | FNC_TblOpSetOutputColDef |
コントラクト関数が実行時に関連するテーブル演算子に渡す2進列の不透明な値(コントラクト関数のコンテキスト)の設定 | FNC_TblOpSetContractDef |
コントラクト関数コンテキストの長さの取得 | FNC_TblOpGetContractLength |
コントラクト関数コンテキストの取得 | FNC_TblOpGetContractDef |
出力ストリームまたは入力ストリームの形式の設定 | FNC_TblOpSetFormat |
コントラクト関数におけるデフォルト形式または形式セット(FNC_TblOpSetFormatによる)の取得 | FNC_TblOpGetFormat |
エラー メッセージの生成 | FNC_TblOpSetError |
テーブル演算子呼び出しに関する情報へのアクセス | FNC_TblOpGetFunctionDef |
これらの関数はLOBに関するインターフェース関数です。
目的 | 使用するライブラリ関数 |
---|---|
参照されているオブジェクトのそれ以降の順次読み取りで使用する読み取りコンテキストを確立する | FNC_LobOpen_CL |
出力インデックス列のLOB_RESULT_LOCATORへの変換(変換後はFNC_LOBAppendにより使用可能) | FNC_LobCol2Loc |
入力LOBの長さの取得 | FNC_GetLobLength_CL |
以下の関数を使用すると、テーブル演算子作成者はストリームのオープン、行の読み出し、行の書き込み、およびストリームのクローズが可能となります。さらに、現在のストリーム行において特定属性の値を取得および設定することができます。
目的 | 使用するライブラリ関数 |
---|---|
テーブル演算子に渡される入力および出力ストリームの数の取得 | FNC_TblOpGetStreamCount |
ストリームの読み出しや書き込みのためのイテレータ インターフェースの初期化 | FNC_TblOpOpen |
入力ストリームからの行の読み出し、および次のデータ入力行への読み取りコンテキストの設定 | FNC_TblOpRead |
特定の入力属性値へのアクセス | FNC_TblOpGetAttributeByNdx |
出力属性値のメモリ位置への結合 | FNC_TblOpBindAttributeByNdx |
現在の出力データの書き込み、および次の出力行への出力コンテキストのスプールならびに設定 | FNC_TblOpWrite |
ストリームのクローズおよびデータベースへのデータのフラッシュ | FNC_TblOpClose |
これらの関数により、入力や出力バッファへアクセスできます
ユーザー | 使用するライブラリ関数 |
---|---|
現在の入力バッファへの高性能ダイレクト バッファ読み出しアクセス | FNC_TblOpReadBuf |
複数入力ストリームに対応する高性能ダイレクト バッファ読み出しアクセス | FNC_TblOpReadBufEx |
高性能ダイレクト バッファ書き込みアクセス | FNC_TblOpWriteBuf |
次の関数を使用して、複数の入力ストリームを処理するテーブル演算子のcogroup機能を無効にします。
ユーザー | 使用するライブラリ関数 |
---|---|
cogroup機能をオフにする | FNC_TblOpDisableCoGroup |
次の関数は、外部サーバーとの間でデータをインポートおよびエクスポートするテーブル演算子によって使用することができます。
目的 | 使用するライブラリ関数 |
---|---|
指定したAMPにハッシュされる値を取得する | FNC_GetAmpHash |
入力に基づいてキーを処理するAMPを決定する | FNC_GetHashAmp |
エクスポートされる行の数を設定する | FNC_SetActivityCount |
テーブル関数とテーブル演算が特定のAMP上で実行するための自己構成に使用できるノードIDとAMP IDの情報を取得する | FNC_TblGetNodeData |
テーブル演算子によってTeradata Databaseと外部サーバー間で転送されるバイト数を記録する | FNC_TblOpBytesTransferred |
UDTまたは複合データ型(CDT)の基本型または属性型に関する情報を取得する | FNC_TblOpGetBaseInfo |
ストリームの列定義を検索し、コントラクト関数の出力列定義を取得する | FNC_TblOpGetColDef |
コントラクト関数コンテキストの取得 | FNC_TblOpGetContractDef |
コントラクト関数が呼び出される構文解析プログラムのフェーズを取得する | FNC_TblOpGetContractPhase |
外部サーバーのテキスト クエリー文字列を取得し、現在サポートされているインターフェースのバージョンを取得する | FNC_TblOpGetExternalQuery |
外部テーブル演算子が使用するための、ネストされた内部テーブル演算子のコントラクト定義を取得する | FNC_TblOpGetInnerContract |
コントラクト関数が実行時に関連するテーブル演算子に渡す2進列の不透明な値(コントラクト関数のコンテキスト)の設定する | FNC_TblOpSetContractDef |
VARCHARデータ型の列定義の長さをリセットする | FNC_TblOpSetDisplayLength |
テーブル演算子にhexplainカスタム句のセットがある場合、EXPLAINテキストを設定する | FNC_TblOpSetExplainText |
入力および出力ストリームの形式属性を設定する | FNC_ TblOpSetFormat |
コントラクト関数作成者に対するHASH BY指定設定の許可 | FNC_TblOpSetHashByDef |
入力列にキャスト文を設定し、データ型を呼び出し側によって示されるとおりにキャストする | FNC_TblOpSetInputColTypes |
テーブル演算子作成時に、コントラクト関数作成者に整列指定の設定を許可する | FNC_TblOpSetLocalOrderByDef |
テーブル演算子FNC関数により使用されるデータ構造体についての詳細は、テーブル演算子のデータ構造を参照してください。
TD_ANYTYPEパラメータ アクセス
TD_ANYTYPEパラメータ アクセス関数を使用すると、UDF、UDM、または外部ストアド プロシージャでTD_ANYTYPE入力パラメータおよび出力パラメータについての情報を取得できるようになります。
目的 | 使用するライブラリ関数 |
---|---|
ルーチンに渡されたTD_ANYTYPE引数についての情報を取得する | FNC_GetAnyTypeParamInfo_eon |
トレース
トレース ライブラリ関数は、UDF、UDM、および外部ストアド プロシージャの開発時にデバッグのためのトレース出力を入手するために使用します。
目的 | 使用するライブラリ関数 |
---|---|
SET SESSION FUNCTION TRACE文で指定された関数トレース文字列を取得する | FNC_Trace_String |
CREATE GLOBAL TEMPORARY TRACE TABLE文によって定義された一時トレース テーブルにトレース出力を書き込む | FNC_Trace_Write_DL |
UDTインターフェース
UDTインターフェース関数を使用すると、UDF、UDM、または外部ストアド プロシージャで、DISTINCT型UDTの値またはSTRUCTURED型UDTの属性値にアクセスしたり設定したりすることができます。
目的 | 使用するライブラリ関数 |
---|---|
DISTINCT型の値を取得する | FNC_GetDistinctValue |
DISTINCT型の値を設定する | FNC_SetDistinctValue |
LOBを表わすDISTINCT型のロケータを取得する | FNC_GetDistinctInputLob |
FNC_GetDistinctResultLob | |
STRUCTURED型の属性の数を取得する | FNC_GetStructuredAttributeCount |
STRUCTURED型の属性に関する、データ型などの情報を取得する | FNC_GetStructuredAttributeInfo_EON |
STRUCTURED型の属性値を取得する | FNC_GetStructuredAttribute |
FNC_GetStructuredAttributeByNdx | |
STRUCTURED型の属性値を設定する | FNC_SetStructuredAttribute |
FNC_SetStructuredAttributeByNdx | |
STRUCTURED型LOB属性のロケータを取得する | FNC_GetStructuredInputLobAttribute |
FNC_GetStructuredInputLobAttributeByNdx | |
FNC_GetStructuredResultLobAttribute | |
FNC_GetStructuredResultLobAttributeByNdx |
UDTのシリアル化
これらの関数はUDTパラメータをシリアル化または非シリアル化し、シリアル化および非シリアル化をサポートするUDTの値を返します。
目的 | 使用するライブラリ関数 |
---|---|
UDTがシリアル化および非シリアル化をサポートするかどうか判断する | FNC_UdtSerializeSupported |
シリアル化されたUDTの実際のサイズを取得する | FNC_UdtGetSerializeSize |
シリアル化されたUDTを取得する | FNC_UdtSerialize |
シリアル化されたUDTのデータを非シリアル化してUDTに戻す | FNC_UdtDeserialize |
XMLデータ型インターフェース
次の関数を使用して、UDF、UDM、または外部ストアド プロシージャでXMLパラメータの値にアクセスして設定したり、XML型パラメータに関する情報を取得したりできます。
目的 | 使用するライブラリ関数 |
---|---|
XML値のサイズおよびその値がLOBとして保存されるかを含め、XML値に関する情報を取得する | FNC_GetXMLInfo |
XMLデータがLOBとして保存されない場合、XML型インスタンスの値を取得する | FNC_GetXML |
XML型のCLOB表現のLOBロケータを取得し、このロケータをLOB FNCルーチンと使用してデータを読み込む | FNC_GetXMLClob |
CLOB値(XML戻り値)を設定するためにLOB FNCルーチンとともに使用されるLOB_RESULT_LOCATORを取得する | FNC_GetXMLResultClob |
XMLデータがLOBとして保存されない場合、XML型インスタンスの値を設定する | FNC_SetXML |
FNC_GetXMLResultClobによって返されるCLOBロケータを使用して、XML戻り値またはOUTパラメータ値を設定する | FNC_SetXMLClob |
XMLデータがLOBとして保存されない場合、XML型の値をUTF-8バイナリ エンコードで取得する | FNC_GetXMLByte |
XML型のBLOB表現(UTF-8エンコード)のLOBロケータを取得し、このロケータをLOB FNCルーチンと使用してデータを読み込む | FNC_GetXMLBlob |
XMLデータがLOBとして保存されない場合、XML型インスタンスの値を設定する(UTF-8エンコードの値を使用) | FNC_SetXMLByte |
BLOB値(XML戻り値)を設定するためにLOB FNCルーチンとともに使用されるLOB_RESULT_LOCATORを取得する | FNC_GetXMLResultBlob |
FNC_GetXMLResultBlobによって返されるBLOBロケータを使用して、XML戻り値またはOUTパラメータ値を設定する | FNC_SetXMLBlob |