Appel SQL (non AS/400 IBMi)
Il est possible d'appeler directement des requêtes et des instructions SQL sur la base de données source depuis la transformation source (sélection/transformation sur les fichiers dans le modèle) et sur la base de données cible depuis la transformation sur la cible (transformation sur les fichiers distribués).
La syntaxe suit le même format que la base de données à laquelle vous accédez.
Lookup
L'instruction Lookup permet d'appeler une requête qui ne retournera qu'une ligne.
Si plusieurs lignes sont affichées, seule la première est récupérée.
Lookup Alias As Query
L'alias est le nom du jeu de données qui sera récupéré. Il sera aussi utilisé pour préfixer toutes les colonnes récupérées dans le buffer F.
Dès que l'instruction Lookup est saisie, un buffer F suivi du nom de l'alias est créé. Il contient toutes les colonnes récupérées.
La requête indiquée dans Query (Requête) est passée au moteur de la base de données pour être validée.
Pour indiquer des variables (zones de différents buffers) dans la requête, elles doivent être entourées par #.
Exemple :
Lookup Customer As Select LastName from Adventure..DimCust _
where CustKey=#I.Customer# and Company=#W.Company#
L'instruction Lookup est multiligne.
Chaque ligne, sauf la dernière, doit se terminer par un tiret bas (_).
SQL
Ce paramètre est utilisé pour exécuter une instruction SQL, sans retourner de données.
SQL Statement
L'instruction indiquée dans Statement (Instruction) n'est pas validée pendant la saisie. Les éventuelles erreurs dans la commande sont détectées pendant l'exécution.
Pour afficher les différentes variables de la commande SQL (différentes zones de buffer), elles doivent être marquées d'un #.
Exemple :
SQL Update Adventure..DimCust Set Used=1 _
where CustKey=#I.Customer# and Company=#W.Company#
L'instruction SQL est multiligne. Chaque ligne, sauf la dernière, doit se terminer par un tiret bas (_).