
Ein Skript ist ein Objekt mit Einzelverwendung, das zum Aufrufen von Funktionen und zum Zuordnen von Werten in einem Job oder Workflow verwendet wird.
Skriptverwendung
Es gibt viele Anwendungsfälle für Skripte. Einschließlich:
- Jobinitialisierung
- Dateiexistenz
- Alerts per E-Mail versenden
- Statustabellenprüfungen und -aktualisierungen
Sie können ein Skript vor Datenflüssen für Initialisierungsschritte ausführen, um Werte zu berechnen, die an andere Teile des Jobs übergeben werden, oder um Variablen Werte zuzuordnen.
Sie können ein Skript ausführen, um Funktionen auszuführen, z.B. um zu prüfen, ob eine Datei vorhanden ist. Ihr Job kann dann bedingte Bedingungen verwenden, um Ausführungspfade zu ermitteln.
Sie können ein Skript auch nach Workflows und Datenflüssen ausführen, um Benachrichtigungen zu senden oder Ausführungsinformationen wie Zeit oder eine Änderung der Anzahl der Zeilen in einem Datensatz aufzuzeichnen.
Data-Services-Skriptsprache
Mit der Data-Services -Skriptsprache können Sie Variablen Werte zuordnen, Funktionen aufrufen und Standardzeichenfolgen und mathematische Operatoren verwenden. Die Syntax kann sowohl in Ausdrücken wie WHERE-Klauseln als auch in Skripten verwendet werden.
Skriptanweisungen
- Zuweisungsbescheinigungen
- Funktionsaufrufe
- If-Anweisungen
- While-Anweisungen
- Ausdrücke
Ausdrücke sind eine Kombination aus Konstanten, Operatoren, Funktionen und Variablen, die einen Wert eines bestimmten Datentyps auswerten. Verwenden Sie Ausdrücke in Skriptanweisungen, oder fügen Sie Ausdrücke zu Datenflussobjekten hinzu.
Basic-Syntax
Befolgen Sie die folgenden grundlegenden Syntaxregeln, wenn Sie einen Ausdruck mit der Data-Services -Skriptsprache anlegen:
- Beenden Sie jede Anweisung mit einem Semikolon (;).
- Beginnen Sie Variablennamen mit einem Dollarzeichen ($).
- Schließen Sie Zeichenfolgenwerte in einfache Anführungszeichen (' ') ein.
- Beginnen Sie Kommentare mit einem Nummernzeichen (#).
- Geben Sie Parameter in Funktionsaufrufen an, auch wenn der Funktionsaufruf keine Parameter verwendet.
- Ersetzen Sie den Wert des Ausdrucks durch eckige Klammern, z.B.:
Print(’The value of the start date is:[sysdate()+5]’);
- Setzen Sie den Wert des Ausdrucks in einfache Anführungszeichen mit geschweiften Klammern, z.B.:
$StartDate = sql(’demo_target’, ’SELECT ExtractHigh FROM Job_Execution_Status WHERE JobName = {$JobName}’);
Syntax für Spalten- und Tabellenreferenzen in Ausdrücken
Ausdrücke können in Datenflussobjekten verwendet werden und Spaltennamen enthalten.
Die Data-Services -Skriptsprache erkennt Spalten- und Tabellennamen ohne spezielle Syntax. Sie können beispielsweise die Spalte start_date als Eingabe für eine Funktion auf dem Tab Zuordnung einer Abfrage als angebento_char(start_date, ’dd.mm.yyyy’).
Die Spalte start_date muss sich im Eingabeschema der Abfrage befinden. Wenn es mehr als eine Spalte mit demselben Namen im Eingabeschema einer Abfrage gibt, geben Sie an, welche Spalte in einem Ausdruck enthalten ist, indem Sie den Spaltennamen mit dem Tabellennamen qualifizieren. Geben Sie beispielsweise die Spalte start_date in der Tabelle status als anstatus.start_date.
Spalten- und Tabellennamen als Teil von SQL-Zeichenfolgen erfordern möglicherweise eine spezielle Syntax basierend auf dem RDBMS, von dem die SQL ausgewertet wird. Wählen Sie beispielsweise alle Zeilen aus der Spalte LAST_NAME der Tabelle CUSTOMER als sql(’oracle_ds’,’select CUSTOMER.LAST_NAME from CUSTOMER’) aus.
Anführungszeichen
Anführungszeichen, Escape-Zeichen und nachgestellte Leerzeichen können sich bei falscher Verwendung negativ auf Ihr Skript auswirken.
Die Art der in Zeichenfolgen zu verwendenden Anführungszeichen hängt davon ab, ob Sie Bezeichner oder Konstanten verwenden.
Identifikatoren
- Ein Bezeichner ist der Name des Objekts wie eine Tabelle, Spalte, ein Datenfluss oder eine Funktion.
- Verwenden Sie doppelte Anführungszeichen in Bezeichnern, wenn sie nicht alphanumerische Zeichen enthalten.
- Verwenden Sie beispielsweise ein doppeltes Anführungszeichen in der Zeichenfolge "Compute large numbers", da die Zeichenfolge Leerzeichen enthält.
Konstanten
- Eine Konstante ist ein Festwert, der in der Berechnung verwendet wird.
- Es gibt zwei Arten von Konstanten:
- String-Konstanten, z.B. 'Hello' oder '2007.01.23'
- Numerische Konstanten, z.B. 2,14
- Verwenden Sie einfache Anführungszeichen in Zeichenfolgenkonstanten und keine Anführungszeichen in numerischen Konstanten.
Escape-Zeichen
Sonderzeichen wie ein einfaches Anführungszeichen oder ein umgekehrter Schrägstrich müssen mit einem Escape-Zeichen versehen werden, damit sie in einer Zeichenfolge korrekt ausgewertet werden. Data Services verwendet den umgekehrten Schrägstrich als Escape-Zeichen, wie in der folgenden Tabelle dargestellt:
| Zeichen | Beispiel |
|---|---|
| Einfaches Anführungszeichen (') | „World\’s Books" |
| Umgekehrter Schrägstrich (\) | 'C:\\temp' |
NULL, leere Zeichenfolgen und schließende Leerzeichen
Um den ANSI-VARCHAR-Standard bei der Behandlung von NULL, leeren Zeichenfolgen und nachgestellten Leerzeichen zu erfüllen, führt Data Services folgende Schritte aus:
- Behandelt eine leere Zeichenfolge (' ') als Varchar-Wert mit Nulllänge anstatt als NULL-Wert.
- Gibt den Wert FALSE zurück, wenn Sie die Operatoren Gleich (=) und Ungleich (<>) für den Vergleich mit einem NULL-Wert verwenden.
- Stellt die Operatoren IS NULL und IS NOT NULL zum Testen auf NULL-Werte bereit.
- Behandelt schließende Leerzeichen beim Lesen aus allen Quellen als reguläre Zeichen, anstatt sie zu kürzen.
- Ignoriert schließende Leerzeichen in Vergleichen in Transformationen und Funktionen.
Wenn Sie einer Variablen eine leere Zeichenfolge (' ') zuordnen, behandelt Data Services den Wert der Variablen als Zeichenfolge mit Nulllänge.
Ein Fehler tritt auf, wenn Sie einer Variablen, die kein Varchar-Wert ist, eine leere Zeichenfolge zuweisen. Verwenden Sie die NULL-Konstante, um einer Variablen eines beliebigen Typs einen NULL-Wert zuzuweisen.
Prüfen Sie, ob eine Spalte (COLX) mit diesen Ausdrücken null ist oder nicht:
- COLX IST NULL
- COLX IST NOT NULL
Verwenden Sie die Funktion NVL, um NULL-Werte zu entfernen. Data Services prüft nicht auf NULL-Werte in Datenspalten.
Weitere Informationen zur Skriptsprache finden Sie im Designer-Handbuch.
und den Referenzleitfaden