Accéder au contenu principal

Utiliser la clause WITH

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, une expression conditionnelle, ou 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, ou après une clause UNION ALL. Dans Talend Data Mapper avec la mise à jour mensuelle 8.0.1-R2024-11 ou une plus récente, vous pouvez également utiliser une clause WITH au début d'un bloc de requête. 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 https://help.talend.com/fr-FR/data-shaping-language-reference-guide/8.0/using-let-clause.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.