SQL-Aufgabe

Ein SQL-Task ist die Ausführung einer oder mehrerer, registrierter gespeicherter Verfahren. Diese Verfahren enthalten eine Logik, die in der SELLIGENT Datenbank ausgeführt werden muss. Diese Verfahren werden im SELLIGENT Konfiguration erstellt.

Mit SQL-Aufgaben können Sie automatische Berechnungen bei der Datenbank durchführen, Daten zusammenfassen oder Daten in der Datenbank anreichern.

Beispiel: Berechnen Sie Kaufmetriken auf Basis der Informationen in den Tabellen ORDERS und ORDERLINE, die keine zusammengefassten Daten enthalten.

Hinweis: Gespeicherte Verfahren, die direkt im SQL-Server erstellt werden, sind zur Verwendung in den SELLIGENT Tasks nicht verfügbar.

Bei Erstellung eines neuen SQL-Tasks wird das folgende Fenster angezeigt: Zu diesem Zeitpunkt wurden noch keine Verfahren ausgewählt

Hier werden neue Verfahren hinzugefügt und bestehende Verfahren bearbeitet oder entfernt. Drücken Sie die Schaltfläche “Hinzufügen” um einen neuen Task hinzuzufügen. Der folgende Verfahrens-Dialog öffnet sich:

  • Verfahren:Wählen Sie aus dem Dropdown-Feld das gespeicherte Verfahren zur Ausführung. Es werden nur registrierte gespeicherte Verfahren aufgelistet.
  • Beschreibung: Geben Sie eine Beschreibung ein.
  • Statistik erstellen:Markieren Sie gegebenenfalls das Kontrollkästchen ‘Statistik erstellen’. Es wird eine XML-Datei erzeugt..

Hinweis: Statistiken werden in XML über eine Standardfunktion des SQL-Servers erzeugt. Diese Funktion überprüft jeden Vorgang und sollte nur im Problemfall verwendet werden, wenn Störungen behoben werden müssen. Es ist nicht empfehlenswert, diese Funktion dauerhaft aktiviert zu lassen.

  • Fail Constraint : Definieren Sie als nächstes einen Constraint als fehlgeschlagen markieren. Diese Option wird zusammen mit der ’OnSuccess’und ‘OnFail’-Spalte in der tabelle der Tasks, aus denen der SQL-Vorgang besteht, verwendet. Wenn ein gespeichertes Verfahren erfolgreich durchgeführt wurde, wird per Default der Wert 0 zurückgegeben. Im Abschnitt “Fail constraint” definiert der Benutzer, wann das Verfahren als fehlgeschlagen betrachtet wird. (Beispiel: Ist der Rückgabewert des gespeicherten Verfahrens <> 1, ist der Vorgang fehlgeschlagen. Das bedeutet indirekt, dass der Task als erfolgreich betrachtet wird, wenn der Rückgabewert = 1 ist). Diese Information wird später in der Task-Reihenfolge verwendet, und zwar zum Bestimmen der nächsten Schritte.
  • Parameter: Wenn das gespeicherte Verfahren Parameter benötigt, werden diese im Abschnitt “Parameter” aufgelistet. Der Parameter-Typ kann INPUT oder OUTPUT sein. Der Wert eines OUTPUT-Parameters kann als Variable eingestellt werden, und diese Variable kann wiederum als Eingabeparameter in einem anderen gespeicherten Verfahren verwendet werden.

Variable werden folgendermaßen eingestellt: @VARNAME

Hinweis: Variablen können nur im Zusammenhang mit ein und demselben SQL-Task verwendet werden, und können nur an andere gespeicherte Verfahren innerhalb desselben SQL-Tasks weitergegeben werden.

Parametern kann auch ein Wert zugeordnet werden. Klicken Sie in der “Werte”-Spalte auf die Schaltfläche “… “, um einen vordefinierten Wert oder einen Benutzerwert einzugeben..

Beispiel;
Der “Value Editor”, mit dem Sie einen Parameter des Typs Datetime bearbeiten können
Ein vordefinierter Wert wäre zum Beispiel GETDATE().
Ein Benutzerwert würde aus einem vom Benutzer gewählten Datum und Zeitpunkt bestehen

 

Wird mehr als ein gespeichertes Verfahren ausgewählt, kann eine Reihenfolge festgelegt werden. Dazu bewegen Sie diese Verfahren in der tabelle jeweils nach oben oder unten:.

Zusätzlich dazu können Sie eine Art Logik definieren. Wenn ein Verfahren erfolgreich ist, kann der Benutzer angeben ob der komplette Vorgang als „Fehlgeschlagen“ oder „Bestanden“ gilt, oder ob der nächste Schritt ausgeführt werden muss. Dieselbe Möglichkeit besteht für ein fehlgeschlagenes Verfahren.

Hinweis: Wenn der Vorgang als ‘Bestanden’ gilt, wenn ein Task erfolgreich ist, werden die übrigen Tasks im selben Vorgang nicht ausgeführt. Der Vorgang wird als erledigt betrachtet. Wenn der Vorgang als “ Fehlgeschlagen ” eingestellt wird, wird der SQL-Vorgang abgebrochen und als “Failure” (fehlgeschlagen) berichtet.

 

Zurück