17.10 - INOUTパラメータに関するメモリの考慮事項 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

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を参照してください。