Utiliser la clause WITH - Cloud - 8.0

Guide de référence de Talend Data Shaping Language

Version
Cloud
8.0
Language
Français
Product
Talend Cloud
Module
Data Shaping Language
Content
Création et développement
Last publication date
2023-11-23
La clause WITH est utilisée pour définir une variable pouvant être réutilisée ultérieurement dans la requête.
La clause WITH doit être structurée comme suit :
WITH $variable_name = expression

La variable doit commencer par le caractère $ et ne peut pas être un identifiant hiérarchique. Par exemple, $item.index n'est pas une variable valide. La variable doit être unique à travers la requête. L'expression utilisée pour spécifier la valeur de la variable peut être une expression simple ou une expression conditionnelle. Dans Talend Data Mapper, elle peut également être un tableau.

La clause WITH doit être utilisée au début d'une requête ou d'une sous-requête, avant une clause FROM-WHERE-SELECT. Dans Talend Data Mapper, elle peut également être utilisée après une clause UNION ALL. Par exemple :
WITH $limit_date = toDate('2020-05-21')
FROM order AS o
WHERE toDate(o.order_date) >= $limit_date
SELECT {
   items = (
      WITH $limit_price = 1000
      FROM o.items AS i
      LET $total_price = i.qty * i.price
      WHERE $total_price >= $limit_price
      SELECT {
        o.order_id,
        total_price = $total_price
      }
   )
}

La clause WITH est évaluée une fois par requête, à la différence de la clause LET.