Teradata ストアドプロシージャ
ストアド・プロシージャ・ステージを使って、ストアド・プロシージャからマクロやファンクションを呼び出すことができます。 Teradata ストアドプロシージャ、マクロ DataStage® を呼び出すことはできますが Teradata から直接ストアドプロシージャ、マクロ、関数を作成することはできません。 DataStage.
プロパティ・タブ
以下のプロパティーを指定できます。
- トランザクションモード。 サーバーへの接続モード。 Teradata サーバーへの接続モード。 このフィールドは、選択したデータベース・ベンダーが Teradata またはジョブである場合にのみ有効です。
- データベース・ベンダーが Teradata の場合、 トランザクションモードのオプションはデフォルトの ANSI と Teradata. このフィールドは、ストアド・プロシージャ・ステージがサーバーにANSIで接続するか Teradata サーバに ANSI または Teradata トランザクションモードのどちらでサーバに接続するかを制御します。 ANSIトランザクション・モードの接続は、トランザクション・モードでコンパイルされたストアド・ プロシージャを呼び出すことはできません。 Teradata トランザクション・モードの接続は Teradata トランザクション・モードの接続は、ANSI トランザクション・モードでコンパイルされたストアド・プロシージャを呼び出すことはできません。
- Database vendorが ジョブである場合、 Transaction modeのオプションは ANSIと Native です。 ネイティブ・トランザクション・モードは Teradata トランザクション・モードと同等である。 Teradata. トランザクション・モード・フィールドは、他のベンダーには影響しない。注: トランザクション・モードでエラーが発生した場合 Teradata トランザクション・モード Teradata は自動的に現在のトランザクションをロールバックする。 ANSIトランザクションモードでは、エラーは現在のトランザクションに影響しない。
- クライアントの文字セット。 クライアント文字セット Teradata サーバへの接続時に使用するクライアントの文字セット。 Teradata サーバに接続する際に使用する このフィールドは、 データベースベンダが Teradata またはジョブである場合にのみ有効です。 デフォルト値は「デフォルト」です。
実行できるプロシージャーは以下の通り:
- ソース ソースプロシージャはSQLのSELECT ステートメントエミュレートし、カラムメタデータを出力パラメータとして使用してデータベースから読み込みます。 出力リンクしかない。
- ターゲット ターゲット・プロシージャはSQLのINSERT ステートメントエミュレートし、カラム・メタデータを入力パラメータとして使用してデータベースに書き込みます。 入力リンクしかない。
- 変身する。 変換プロシージャは、ストアドプロシージャのプロパティを使用して、データベースでさまざまなロジックの決定を実行します。 入力リンクのみ、出力リンクのみ、または入力リンクと出力リンクの両方で使用できる。 パラメータグリッド上で入出力パラメータを指定する。
エラーコードを指定することで、 ジョブ実行中にステージがエラーや警告をどのように処理するかを指定できます。 ステージは最初に致命的なリストをチェックする。 両方のリストに同じコードを指定すると、 ジョブ中断する。 リストには、データベース固有のエラーをエラーの整数部分だけに縮小して記載する。 また、プロシージャが返す可能性のあるユーザー定義のエラーコードを指定することもできる。 リストを空白のままにしておくと、ステージは致命的か致命的でないかのデータベースの基準を使用し、そのように動作する。 エラーには2つのカテゴリーがある:
- 致命的なエラー。 致命的なエラーとして扱うエラーを指定する。 致命的と判断されたコードが1つでも見つかれば、 ジョブ中断する。
- 警告 警告として扱うべきエラーを指定する。 ステージは、致命的なエラーのリストをチェックした後に、警告のリストをチェックする。 ステージが警告として特定されたコードのいずれかを見つけた場合、ステージはログエントリーを書き、処理は続行される。
「パラメーター」タブ
Parameters タブでは、 Procedure タイプが Transform である場合に使用されるパラメータを特定し、説明します。
ストアド・プロシージャ・ステージでは、パラメータ指定によって、入力カラムと出力カラムをプロシージャの入力パラメータと出力パラメータに対応付けることができる。 ステージは、 Parameters タブで提供された情報を使用して、ストアド プロシージャ呼び出しを構築し、内部変数をバインドします。 プロシージャ タイプがソースまたはターゲットに設定されている場合、列メタデータがパラメーター情報のマップに使用されるため、 パラメーター タブは無視されます。
以下のパラメータタイプを指定できる:
- 入力
- ステージは、リンクからのデータまたはリテラル値をストアドプロシージャに送る。 ステージは入力リンクを含んでいなければならない。 選択された操作のWHILE句またはWHERE句を満たし、テーブルに値を挿入する入力を選択する。
- 出力
- ステージは、ストアドプロシージャからデータまたは結果セットを返します。 ステージは出力リンクを含んでいなければならない。 SELECT @param=10 を満たす出力を選択する。 ストアドプロシージャは、単一の行または特定の出力パラメータを返します。
- 入力/出力
- ステージはリンクからデータを送信し、データや結果セットを返す。 データベースは、情報を送ったり返したりできるパラメータの使用をサポートしなければならない。 ステージは入力と出力のリンクを含んでいなければならない。