INOUTパラメータに返される出力値のサイズが、プロシージャ呼び出し時のパラメータの入力値にシステムが割り振ったメモリより大きくなった場合、CALLリクエストは失敗し、リクエスト側にオーバーフロー エラーが返されます。
次にその例を示します。単一INOUTパラメータを持つmyintzという名前のプロシージャを作成したと想定します。
CALL myintz(32767);
システムが32,767を格納するのに使用可能な最小のデータ型はSMALLINTで、パラメータのSMALLINT数を格納するのに必要な2バイトが割り振られます。このCALLリクエストで32,768より大きいまたは等しい値がINOUTパラメータに返される場合、システムは作成時にパラメータに割り振られたデータ型に関係なく、SMALLINTのオーバーフローとして処理し、エラーを返します。これは、SMALLINT変数が含むことができる最大の正の値が32,767であるためです。
<Teradata Vantage™ - SQLデータ操作言語、B035-1146>の「CALL」を参照してください。