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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

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