void
FNC_GetAnyTypeParamInfo(int bufsize,
int *numAnyTypeParams,
anytype_param_info_t *AnyTypeAttributeArray);
- int bufsize
- AnyTypeAttributeArrayバッファのサイズ。
- int *numAnyTypeParams
- TD_ANYTYPEデータ型の入力引数と出力引数の数。
- anytype_param_info_t *AnyTypeAttributeArray
- TD_ANYTYPEパラメータについての情報を保持するバッファへのポインタ。
- anytype_param_info_t構造体は、sqltypes_td.hで次のように定義されています。
typedef struct anytype_param_info_t {
INTEGER_td paramIndex;
dtype_et datatype;
dmode_et direction;
INTEGER_td max_length;
FNC_LobLength_t lob_length;
SMALLINT total_interval_digits;
SMALLINT num_fractional_digits;
charset_et charset;
CHARACTER UDTName[FNC_MAXNAMELEN];
SMALLINT udt_indicator;
} anytype_param_info_t;
- 説明
- paramIndexは、パラメータの位置を示す1から始まるインデックスです。戻りパラメータの場合、このインデックスは-1になります。
- datatypeは、パラメータのデータ型です。
- directionは、パラメータが入力、出力またはINOUTパラメータのいずれであるかを示します。
- max_lengthは、このパラメータが使用するバイト単位の最大長です。パラメータがLOB型の場合、max_lengthはLOB_REFの長さを意味します。LOBデータ自体の長さはlob_lengthで得られます。
- lob_lengthは、パラメータの最大長です(パラメータがLOB型の場合)。
- total_interval_digitsは、特定のデータ型の精度値です。例えば、DECIMAL(n,n)型、またはINTERVAL DAY(m) TO SECOND(n)の値mになります。この値を使用する型のリストは、attribute_info_t.total_interval_digitsのリストと同じです。
- num_fractional_digitsは、特定のデータ型の精度またはスケール値です。例えば、DECIMAL(m,n)型、またはINTERVAL DAY(m) TO SECOND(n)の値mになります。この値を使用する型のリストは、attribute_info_t.num_fractional_digitsのリストと同じです。
- charsetは、CHARACTERデータ型に関連付けられたサーバー文字セットです。
- UDTNameは、UDTの名前です(パラメータがUDTの場合)。
- udt_indicatorは、UDTの種類についての識別子です。
udt_indicatorに使用できる値は以下のとおりです:
- 0 – UDTではない
- 1 - STRUCTURED型UDT
- 2 - DISTINCT型UDT
- 3 - 内部UDT
- 4 - ARRAY型
DISTINCT型の場合は、DISTINCT型UDTの基になる型のデータ型が返されます。そのため、この識別子は、その型が実際にUDTである場合に使用する必要があります。
dtype_et、total_interval_digits、num_fractional_digits、またはcharset_etについての詳細は、FNC_GetStructuredAttributeInfoを参照してください。
dmode_etの詳細については、FNC_CallSPを参照してください。