関数エイリアス(別名、関数マッピング)を使用すると、外部関数オブジェクトまたは外部サーバーに対する簡単な別名を作成できます。関数エイリアスは、SQL文のエイリアスと異なります。SQL文のエイリアスは一時的な名前ですが、関数エイリアスはデータベース内の新しいパラメータ オブジェクトになります。関数エイリアスを使用すると、実行中の外部関数に対して名前や場所などの詳細が隠されます。
Data Moverは、関数エイリアス機能をサポートするTeradataシステム間で関数エイリアス オブジェクトをコピーすることができます。コピーする前に、関数エイリアス オブジェクトの定義に含まれているすべての従属オブジェクトが、ターゲット システム内に存在していることを確認してください。関数エイリアス オブジェクト内のすべての従属オブジェクトがターゲット システム内にあることは、Data Moverでは検証されません。
関数エイリアス オブジェクトをコピーするには、次のパラメータを使用します。
パラメータ | 説明 |
---|---|
名前 | 関数エイリアス オブジェクトの名前。 |
データベース | 関数エイリアス オブジェクトが存在する場合は、所有者またはデータベースの名前。 |
要件および制限
- DDLに対してSHOW FUNCTION MAPPINGを実行するには、Data Moverジョブ ユーザーにソース システム内の関数エイリアス オブジェクトに対するACCESS権限を付与する必要があります。また、ターゲット システム内にDROPおよびCREATE関数のエイリアス オブジェクトが必要です。この条件を満たさない場合は、実行時にジョブが失敗します。
- 関数エイリアス オブジェクト内のすべての従属オブジェクトが、ターゲット システム内に存在する必要があります。そうでない場合は、実行時にジョブが失敗します。Data Moverは従属オブジェクトの有無を検証しません。
- ソースとターゲットの両方のTeradata Databaseシステムで、バージョンが16.20 Feature Update 1以降である必要があります。
- Data Moverでサポートされるのは、関数エイリアス オブジェクトのコピーのみです。名前変更や、別のターゲット データベースへのオブジェクトの再配置はサポートされていません。
- 関数エイリアス オブジェクトをコピーするには、DSA、TPT、またはJDBCを使用します。
- DSAを使用してデータベース全体をコピーすると、データベース内の関数エイリアス オブジェクトもコピーされます。
- Data Moverは、関数エイリアス オブジェクトDDLの構文解析を行ないません。同じソースDDLがターゲット システムで実行されます。
例
次の例では、データベースTD_SERVER_DB内の外部サーバー用の関数エイリアス オブジェクトDDLを示します。関数エイリアス オブジェクト機能の詳細については、Teradata Databaseのドキュメントを参照してください。
CREATE FUNCTION MAPPING myDB.FAObjForForeignSer FOR TD_SERVER_DB.td_conn_get_supp_version SERVER TD_SERVER_DB.MyForeignServerObject;