Utiliser la clause SET - 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 SET est utilisée pour définir une variable pouvant être réutilisée et modifiée plus tard dans la requête.
La clause SET doit être structurée comme suit :
SET $variable_name = expression

Une fois qu'une variable a été définie, vous pouvez utiliser la même syntaxe pour modifier sa valeur.

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 SET doit être utilisée après une clause FROM, UNNEST, JOIN ou GROUP BY ou dans un bloc de requête introduit par une clause SELECT. Dans Talend Data Mapper, elle peut également être utilisée après une clause UNION ALL. Si le bloc de requêtes contient une clause WHERE ou HAVING, SET doit être placée avant celle-ci. Par exemple :
FROM customer
SET $address = concatWith(" ", address.street, address.city)
WHERE hasValue(rating)
SELECT { 
  name, 
  rating, 
  address = $address,
  SET $level = if (rating > 650) "Premium" else "Standard",
  level = $level
}
Remarque : Si une clause SET est utilisée dans une clause SELECT :
  • la variable est disponible uniquement dans ce bloc et ne peut être utilisée ailleurs dans la requête.
  • Les fonctions d'agrégation ne sont pas supportées.