Skip to main content Skip to complementary content

DatabaseLookupAndUpdate

Looks up and updates a value in a database.

The DatabaseLookupAndUpdate function returns a single value of the specified column that satisfies the specified condition and updates the value according to the expression in the Update parameter. This is useful for example when reading rows from a database to process and at the same time indicating they have been processes so they won't be processed again. The update occurs inside of the current database transaction (along with all other database activity during the execution of the map).

Only certain functions are translated into SQL for evaluation by the database and can be used with DatabaseColumn and DatabaseFunction functions. These are:
  • Add
  • And
  • Concat
  • Constant
  • Divide
  • Multiply
  • Or
  • Subtract
  • Not
That is to say that the DatabaseColumn and DatabaseFunctions must only be children of one of the above functions.

You can also use any function as part of the expression tree to reference elements from your map. You just can't have the DatabaseColumn or DatabaseFunction be a child of functions other than on the list above.

Arguments

Condition (Boolean) The "where" condition for this lookup. This is an expression that includes DatabaseColumn (and maybe DatabaseFunction) functions to specify to the database the selection criteria for the lookup. Use the normal functions for specifying conditions (e.g. Equal, And, Add). These functions will be translated into the corresponding SQL for evaluation by the database. You may use any other type of function in the Condition as well to refer to elements in the map for example.
Update (Simple) An expression that specifies the value of the output column after the lookup. This is an expression that includes DatabaseColumn (and maybe DatabaseFunction) functions to specify the value of the output column. Use the normal functions for specifying conditions (e.g. Equal, And, Add). These functions will be translated into the corresponding SQL for evaluation by the database. You may use any other type of function in the Update as well to refer to elements in the map for example.
Output Column (String) The output column to select. This is mainly used when you want to use a function with the output column. For example, selecting the maximum value of a column. Use a DatabaseFunction to specify the function and a single DatabaseColumn within that to specify the column.

Properties

Output Column The fully qualified column whose value is to be returned by this function. The specification is of the form: <path to database>.<table>.<column> for example: /Default Project/Databases/MyDatabase.MYTABLE.MYCOLUMN. Note that when using the Studio a graphical interface specifies this, so you don't need to be concerned with this format.
Cache Lookups? Specifies if the values returned by this function are cached. Possible values are:
  • DEFAULT - cache according to the caching policy of the runtime.
  • ALWAYS - always cache regardless of the runtime setting.
  • NEVER - never cache values regardless of the runtime setting.
The runtime also has a cache timeout value which invalidates cached items after the expiration of the timeout value.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!