
Un script est un objet à usage unique utilisé pour appeler des fonctions et affecter des valeurs dans un job ou un workflow.
Utilisation du script
Il existe de nombreux cas d'utilisation pour les scripts. Y compris :
- Initialisation du job
- Existence du fichier
- Envoyer des alertes par e-mail
- Contrôles et mises à jour de la table des statuts
Vous pouvez exécuter un script avant les flux de données pour les étapes d'initialisation, pour calculer les valeurs transmises à d'autres parties du job ou pour affecter des valeurs aux variables.
Vous pouvez exécuter un script pour exécuter des fonctions, pour vérifier l'existence d'un fichier par exemple. Votre job peut alors utiliser des structures conditionnelles pour déterminer les chemins d'exécution.
Vous pouvez également exécuter un script après des workflows et des flux de données pour envoyer des notifications ou enregistrer des informations d'exécution telles que l'heure ou une modification du nombre de lignes dans un jeu de données.
Langage de script Data Services
Le langage de script Data Services vous permet d'affecter des valeurs à des variables, d'appeler des fonctions et d'utiliser des opérateurs mathématiques et de chaîne standard. La syntaxe peut être utilisée dans les deux expressions telles que les clauses WHERE et les scripts.
Instructions de script
- Déclarations d'affectation
- Appels de fonction
- Instructions If
- Instructions While
- Expressions
Les expressions sont une combinaison de constantes, d'opérateurs, de fonctions et de variables qui évaluent à une valeur d'un type de données donné. Utilisez des expressions dans des instructions de script ou ajoutez des expressions aux objets de flux de données.
Syntaxe Basic
Suivez ces règles de syntaxe de base lorsque vous créez une expression avec le langage de script Data Services :
- Terminez chaque instruction par un point-virgule (;).
- Commencez les noms de variables par le signe dollar ($).
- Mettez les valeurs de chaîne entre guillemets simples (' ').
- Commencez les commentaires par un signe numérique (#).
- Indiquez des paramètres dans les appels de fonction, même si l'appel de fonction n'utilise pas de paramètres.
- Remplacez la valeur de l'expression par des crochets, par exemple :
Print(’The value of the start date is:[sysdate()+5]’);
- Mettez la valeur de l'expression entre guillemets simples avec des accolades, par exemple :
$StartDate = sql(’demo_target’, ’SELECT ExtractHigh FROM Job_Execution_Status WHERE JobName = {$JobName}’);
Syntaxe pour les références de colonnes et de tables dans les expressions
Les expressions peuvent être utilisées dans des objets de flux de données et peuvent contenir des noms de colonnes.
Le langage de script Data Services reconnaît les noms de colonnes et de tables sans syntaxe spéciale. Par exemple, vous pouvez indiquer la colonne start_date comme entrée d'une fonction dans l'onglet Mappage d'une requête comme to_char(start_date, ’dd.mm.yyyy’).
La colonne start_date doit se trouver dans le schéma d'entrée de la requête. S'il existe plusieurs colonnes avec le même nom dans le schéma d'entrée d'une requête, indiquez quelle colonne est incluse dans une expression en qualifiant le nom de colonne avec le nom de la table. Par exemple, indiquez la colonne start_date dans le statut de la table comme status.start_date.
Les noms de colonnes et de tables dans le cadre de chaînes SQL peuvent nécessiter une syntaxe spéciale basée sur le SGBDR par lequel le SQL est évalué. Par exemple, sélectionnez toutes les lignes de la colonne LAST_NAME de la table CUSTOMER comme sql(’oracle_ds’,’select CUSTOMER.LAST_NAME from CUSTOMER’).
Guillemets
Les guillemets, les caractères d'échappement et les espaces de fin peuvent tous avoir un effet négatif sur votre script s'ils ne sont pas utilisés correctement.
Le type de guillemets à utiliser dans les chaînes varie selon que vous utilisez des identificateurs ou des constantes.
Identificateurs
- Un identifiant est le nom de l'objet comme une table, une colonne, un flux de données ou une fonction.
- Utilisez des guillemets doubles dans les identificateurs s'ils contiennent des caractères non alphanumériques.
- Par exemple, utilisez des guillemets doubles dans la chaîne "calculer de grands nombres" car la chaîne contient des espaces.
Constantes
- Une constante est une constante utilisée dans le calcul.
- Il existe deux types de constantes :
- Constantes de chaîne, par exemple, 'Hello' ou '2007.01.23'
- Constantes numériques, par exemple, 2.14
- Utilisez des guillemets simples dans les constantes de chaîne et aucun guillemet dans les constantes numériques.
Caractères d'échappement
Les caractères spéciaux tels qu'un guillemet simple ou une barre oblique inverse doivent être précédés d'un caractère d'échappement pour être correctement évalués dans une chaîne. Data Services utilise la barre oblique inverse comme caractère d'échappement comme indiqué dans ce tableau :
| Caractère | Exemple |
|---|---|
| Guillemet simple (') | 'World\’s Books' |
| Barre oblique inverse (\) | 'C:\\temp' |
Valeurs nulles, chaînes vides et espaces vides de fin
Pour se conformer à la norme ANSI VARCHAR lorsqu'il s'agit de valeurs nulles, de chaînes vides et d'espaces de fin, Data Services :
- Traite une chaîne vide (' ') comme une valeur de type varchar de longueur zéro, au lieu d'une valeur nulle.
- Retourne la valeur FALSE lorsque vous utilisez les opérateurs Equal (=) et Not Equal (<>) pour la comparaison avec une valeur nulle.
- Fournit les opérateurs IS NULL et IS NOT NULL pour tester la présence de valeurs nulles.
- Traite les espaces de fin comme des caractères réguliers lors de la lecture à partir de toutes les sources, au lieu de les supprimer.
- Ignore les espaces de fin dans les comparaisons dans les transformations et les fonctions.
Lorsque vous affectez une chaîne vide (' ') à une variable, Data Services traite la valeur de la variable comme une chaîne de longueur zéro.
Une erreur se produit si vous affectez une chaîne vide à une variable qui n'est pas une variable varchar. Utilisez la constante NULL pour affecter une valeur nulle à une variable de n'importe quel type.
Vérifiez si une colonne (COLX) est nulle ou non avec les expressions suivantes :
- COLX EST NUL
- COLX N'EST PAS NUL
Utilisez la fonction NVL pour supprimer les valeurs nulles. Data Services ne recherche pas les valeurs nulles dans les colonnes de données.
Pour plus d'informations sur le langage de script, voir le guide du concepteur.
et le guide de référence