16.20 - parameter_nameデータ型 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)

プロシージャに渡す変数についての、UDTを含む括弧に入れたカンマ区切りのデータ型とパラメータ名のリスト。

プロシージャに渡すパラメータがない場合でも、右括弧と左括弧を指定する必要があります。

パラメータ リストで指定できるパラメータの最大数は、プロシージャの外部ルーチンが記述される言語によって決まります。
言語 パラメータの最大数
CまたはC++ 256
Java 255
IN
パラメータは入力専用です。INがデフォルトのパラメータ型です。パラメータ型を指定しない場合はIN型になります。
OUT
パラメータは出力専用です。
INOUT
パラメータは、入力と出力になり得ます。
プロシージャが呼び出されるときに、Teradata Databaseが、INOUTパラメータに割り当てたデータ型にデフォルトを設定することはありません。代わりに、指定した入力パラメータを含むことのできる最小のデータ型にデフォルト設定します。したがって、INOUTパラメータに返される出力パラメータをシステムがそのパラメータに設定したデフォルト データ型セットに含むことができない場合、メモリ オーバーフロー エラーが発生することがあります。
data type
各パラメータに関連付けられているデータ型がそのパラメータの型です。 CおよびC++の手順については、すべてのTeradata Databaseのデータ型が有効です。 Javaプロシージャの場合、GRAPHICとVARGRAPHICを除くすべてのTeradata Databaseデータ型が有効です。
BYTE、CHARACTER、DECIMAL、VARCHARなど、長さやサイズを指定するデータ型では、パラメータの長さが、渡すことのできる最長ストリングになります。
文字データは、CHARACTER SET句も指定できます。
文字サーバー データ セットKANJI1を指定することはできません。指定した場合、要求元にエラーが返されます。
BLOB型とCLOB型は、ロケータで表わす必要があります。ロケータの説明は、<Teradata Vantage™ SQLデータ操作言語、B035-1146>を参照してください。システムでは、メモリ内LOBパラメータをサポートしません。非Javaプロシージャ内のLOBパラメータとLOB戻り値ごとに、AS LOCATOR句を指定する必要があります。
Javaプロシージャでは、簡単なデータ型参照のBLOBとCLOBは、暗黙的にそれぞれBLOB AS LOCATORとCLOB AS LOCATORを参照します。したがって、Javaプロシージャでは、BLOB列とCLOB列に明示的にAS LOCATORを指定することはできません。
データ型変換を必要とするLOBを外部プロシージャに渡すときは、変換を行なうためにLOBを実体化する必要があります。
VARIANT_TYPE
動的UDTをUDFに渡すためにNEW VARIANT_TYPE式を使用してプロシージャの本体内の呼び出し可能な入力パラメータに指定できるのは、VARIANT_TYPE UDT型のみです。VARIANT_TYPEをプロシージャのINパラメータ データ型として宣言することはできません。
TD_ANYTYPE
IN、OUT、またはINOUTのパラメータには、システム定義TD_ANYTYPEデータ型を指定できます。
SQLプロシージャIN、INOUT、およびOUTのパラメータがクライアント アプリケーションに返すことができるデータ型エンコーディングのリストについては、<Teradata Vantage™ SQLストアド プロシージャおよび埋め込みSQL、B035-1148>を参照してください。