ストアド プロシージャを実行するには、SQL CALL 文を使用します。
CALL文の実行でトランザクションを開始することはできません。
トランザクションの開始
ストアド プロシージャ内で制御文以外の最初のSQL文が実行されると、トランザクションが開始されます。制御文では、トランザクションを開始することはできません。
- Teradataトランザクション モードでは、ストアド プロシージャ内の各文が別個のトランザクションになります。プロシージャ本体の中でBT (BEGIN TRANSACTION)およびET (END TRANSACTION)を指定することによって、トランザクションを明示的に開始できます。
- ANSIトランザクション モードでは、ストアド プロシージャの本体がCOMMITで終わっていない限り、後続の文でCOMMITかROLLBACKが指定されるまでストアド プロシージャのアクションがコミットされません。
リクエストの数は、ストアド プロシージャ内の各SQLリクエストごとに増えます。
データ型コード
Teradata Databaseは、CALL文が実行依頼されると、呼び出し側のアプリケーションにCLIv2データ型コードの特定のセットを返します。
ストアド プロシージャ パラメータ
CALL文を実行依頼すると返されるデータ型コードには、パラメータ タイプが含まれます。ストアド プロシージャのパラメータには、次の3種類があります。
- IN (入力パラメータ)
- INOUT (入力パラメータか出力パラメータのいずれか、または両方)
- OUT (出力パラメータ)
ストアド プロシージャでは、どのデータ型のパラメータもNULL受入れ可能です。
関連トピック
以下に関する詳細な情報
- ストアド プロシージャの実行の詳細について、<Teradata Vantage™ - SQLデータ操作言語、B035-1146>のCALL文の説明を参照してください。
- CALL文で使用できるデータ型コードについては、<Teradata® CLI V2ワークステーション接続システム、B035-2418>または<Teradata® CLI V2メインフレーム接続システム、B035-2417>の「DataInfoパーセル」を参照してください。
- INOUTパラメータのメモリの考慮事項については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。
- 埋め込みSQLからのストアド プロシージャの実行の詳細について、<Teradata Vantage™ - SQLデータ操作言語、B035-1146>のCALL文を参照してください。