parameter_specification - Advanced SQL Engine - Teradata Database
Teradata Vantage™ - SQLデータ定義言語 構文規則および例
- Product
- Advanced SQL Engine
- Teradata Database
- Release Number
- 17.05
- Published
- 2021年1月
- Language
- 日本語
- Last Update
- 2021-03-30
- dita:mapPath
- ja-JP/ncd1596241368722.ditamap
- dita:ditavalPath
- ja-JP/ncd1596241368722.ditaval
- dita:id
- B035-1144
- Product Category
- Software
- Teradata Vantage
- IN
- パラメータは入力専用です。INがデフォルトのパラメータ型です。パラメータ型を指定しない場合はパラメータはIN型になります。
- OUT
- パラメータは出力専用です。
- INOUT
- パラメータは入力と出力の両方になり得ます。
- parameter_name
- プロシージャの実行中に引数で置き換えられるパラメータまたはローカル変数の名前。
- パラメータ名の最大長は、LATIN文字で30文字、Unicode文字で128文字です。オブジェクト名の長さ制限の詳細は、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。
- 各プロシージャには、最大256のパラメータをカンマ区切りのリストの形で指定できます。
- data_type
- パラメータまたはローカル変数のデータ型は、各parameter_nameで指定される必要があります。
- VARIANT_TYPE UDTをSQLプロシージャのINパラメータ データ型として指定することはできません。
- 動的UDTをUDFに渡すためにNEW VARIANT_TYPE式を使用してプロシージャの本体内の呼び出し可能な入力パラメータに指定できるのは、VARIANT_TYPE UDT型のみです。
- プロシージャが呼び出される際、プロシージャの作成時にシステムが、INOUTパラメータに割り当てたデータ型にデフォルトを設定することはありません。代わりに、指定した入力パラメータを含むことのできる最小のデータ型にデフォルト設定します。その結果、システムにより、INOUTパラメータに返された出力パラメータをデフォルト データ型セットに含むことができない場合、メモリ オーバーフロー エラーが発生することがあります。詳細については、<Teradata Vantage™ - SQLデータ定義言語 - 詳細トピック、B035-1184>のCREATE PROCEDURE(外部形式)、および<Teradata Vantage™ - SQLデータ操作言語、B035-1146>のCALLを参照してください。
- パラメータには、文字データ型の属性として、CHARACTER SETと、CASESPECIFICまたはNOT CASESPECIFICのいずれかを指定できます。
- 両方を指定する場合は、次の順序で指定する必要があります。
-
- KANJI1の文字サーバー データ セットを指定することはできません。作成しようとすると、Vantageはリクエストをアボートして要求元にエラーを返します。
- CASESPECIFICまたはNOT CASESPECIFIC
- NOT NULL、UPPERCASE、またはFORMATなどの他のデータ型属性は、SQLプロシージャには指定できません。
- 文字セットの前にキーワードDEFAULTを指定することはできません。
- ローカル変数の場合、data_typeの後ろに任意の順序でCHARACTER SETおよびNOT CASESPECIFICを指定できます。
- CHARACTER SETを指定しない場合、文字セットはデフォルトの、SQLプロシージャを作成またはコンパイルするユーザーの文字セットになります。
- SQLプロシージャIN、INOUT、およびOUTのパラメータがクライアント アプリケーションに返すことができるデータ型エンコーディングのリストについては、<Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL、B035-1148>を参照してください。