目的
データ型がVARCHARの、外部ストアド プロシージャの出力パラメータの長さ、またはUDFやUDMの結果の長さをバイト単位で設定します。
構文
void FNC_SetVarCharLength(void *outputString, int outputStringLength);
- void *outputString
- データ型がVARCHARの、外部ストアド プロシージャの出力パラメータ、またはUDFやUDMの結果へのポインタです。
- int outputStringLength
- outputStringの参照先の文字列の長さです。
使用上の注意
通常、データベースでは、外部ルーチンの出力パラメータや結果の長さを判断するために、strlenを使用します。出力文字列にNULLが含まれている場合には、FNC_SetVarCharLengthを使用して、明示的に出力文字列の長さを設定してください。FNC_SetVarCharLengthを呼び出すと、データベースは外部ルーチンの出力パラメータや結果の長さを取得するために、strlenを使用しません。
outputString引数の参照先のデータがVARCHARでない場合や、outputStringLengthが不正な長さの場合には、未定義のエラーが発生します。
FNC_SetVarCharLengthの使用例
#define SQL_TEXT Latin_Text #include "sqltypes_td.h" void dstrrev13(VARCHAR_LATIN *input, int inplen, VARCHAR_LATIN *result) { int i; for (i=0; i< inplen; i++) result[inplen-i-1] = input[i]; } void strrevdecomp_varchar(VARBYTE *InputValue, VARCHAR_LATIN *ResultValue, char sqlstate[6]) { dstrrev13(InputValue->bytes, InputValue->length, ResultValue); FNC_SetVarCharLength(ResultValue,InputValue->length); }