目的
データ型が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);
}