DatabaseLookupAndUpdate - 8.0

Talend Data Mapperファンクションリファレンスガイド

Version
8.0
Language
日本語
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン
Last publication date
2023-11-06

データベース内の値を検索してアップデートします。

DatabaseLookupAndUpdateファンクションは、指定した条件を満たす指定したカラムの1つの値を返し、Updateパラメーターの式に従って値をアップデートします。たとえば、データベースから処理する行を読み取ると同時に、再度処理することがないように処理済みであることを示す場合に便利です。アップデートは現在のデータベーストランザクション中に実行されます(マップの実行中は、他のすべてのデータベースアクティビティも同様です)。

SQLに変換されてデータベースで評価されるのは特定のファンクションのみです。これらは、DatabaseColumnファンクションとDatabaseFunctionファンクションで使用できます。それらのファンクションは次のとおりです。
  • Add
  • And
  • Concat
  • Constant
  • Divide
  • Multiply
  • Or
  • Subtract
  • Not
上記のファンクションを使用する場合は、DatabaseColumnファンクションとDatabaseFunctionsファンクションのみを子とします。

また、式ツリーの一部として、マップからエレメントを参照する場合は、どのようなファンクションも使用できます。ただし、上記のファンクション以外はDatabaseColumnファンクションとDatabaseFunctionファンクションを子にできません。

引数

Condition (Boolean) この検索の「WHERE」条件。この式では、DatabaseColumnファンクション(およびDatabaseFunctionファンクション)を含めて検索を行う選択条件をデータベースに指定できます。条件の指定には一般的なファンクション(EqualAndAddなど)を使います。これらのファンクションは対応するSQLに変換され、データベースによって評価されます。条件にはその他の種類のファンクションを使って、mapのエレメントを参照することもできます。
Update (Simple) 検索後に出力カラムの値を指定する式。この式では、DatabaseColumnファンクション(およびDatabaseFunctionファンクション)を含めて出力カラムの値を指定できます。条件の指定には一般的なファンクション(EqualAndAddなど)を使います。これらのファンクションは対応するSQLに変換され、データベースによって評価されます。アップデートにはその他の種類のファンクションを使って、マップのエレメントを参照することもできます。
Output Column (String) 選択する出力カラム。これは主に、出力カラムを伴うファンクションを使用する場合に使います。たとえば、カラムの最大値を選択する場合などです。DatabaseFunctionを使ってファンクションを指定し、その中の1つのDatabaseColumnを使ってカラムを指定します。

プロパティ

Output Column このファンクションで返す値を持った完全修飾カラム。仕様は<path to database><table>.<column>という形式になります。例: /Default Project/Databases/MyDatabase.MYTABLE.MYCOLUMNTalend Studioを使用するとグラフィックインターフェイスがこの形式を指定するので、手動で指定する必要はありません。
Cache Lookups? このファンクションから返される値をキャッシュするかどうかを指定します。次のいずれかの値が考えられます。
  • DEFAULT - 実行時のキャッシュポリシーに基づいてキャッシュします。
  • ALWAYS - 実行時の設定に関わらず常にキャッシュします。
  • NEVER - 実行時の設定に関わらず決してキャッシュしません。
ランタイムのキャッシュにはタイムアウト値が設定されており、この値を経過するとキャッシュされたアイテムは無効になります。