Utiliser la clause SET
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, une expression conditionnelle, ou un tableau.
La clause SET doit être utilisée après une clause FROM, UNNEST, JOIN, GROUP BY ou UNION ALL ou dans un bloc de requête introduit par une clause SELECT. 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
}
Note InformationsRemarque : 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.