SQL-Anweisung ausführen

Diese Aktion sendet SQL-Anweisungen an einen SQL-Server und ruft die Ergebnisse ab. Die verfügbaren Befehle sind SELECT, INSERT, UPDATE und DELETE..

Verwenden Sie die Aktion „SQL-Anweisung ausführen“, um Folgendes zu erreichen:

  • Zusätzliche Daten aus einer Datenbank erhalten: Sie möchten Etiketten mit Daten aus Ihrer Datenbank drucken, aber nicht mit allen erforderlichen Werten. Zum Beispiel nur Werte für Product ID und Description, aber nicht für Price. Erstellen Sie eine SQL-Anweisung, um die Werte für Preis in der SQL-Datenbank zu suchen.

    SELECT Price FROM Products
    WHERE ID = :(Product ID)

    Die ID ist ein Feld in der Datenbank, Product ID ist eine im Trigger definierte Variable.

  • Datensätze in einer Datenbank aktualisieren oder löschen: Nachdem Ihre Etiketten gedruckt wurden, aktualisieren Sie die Datenbankeinträge und teilen dem System mit, dass die betreffenden Einträge bereits verarbeitet wurden. Beispiel für SQL-Code: Stellen Sie den Wert für das Tabellenfeld für den soeben verarbeiteten Datensatz auf True ein.

    UPDATE Products
    SET AlreadyPrinted = True
    WHERE ID = :(Product ID)

    Oder löschen Sie den aktuellen Datensatz aus der Datenbank, da er nicht mehr benötigt wird.

    DELETE FROM Products
    WHERE ID = :(Product ID)

    Die ID ist ein Feld in der Datenbank, Product ID ist eine im Trigger definierte Variable.

Hinweis

Um Werte von Variablen innerhalb von SQL-Anweisungen zu verwenden, fügen Sie einen Doppelpunkt (:) vor den Variablennamen ein. So geben Sie an, dass ein Variablenname folgt.

Wichtig

Wenn Sie Ihre Lösung mit einer Datenbankverbindung erstellen, verwenden Sie Aufforderungsvariablen für Ihre Etiketten anstelle von Datenbankfeldern.

Verwenden Sie für Aufforderungsvariablen dieselben Namen, die für Datenbankfelder definiert sind, z. B. :

Database field: food_products_1c.ProdCode

Aufforderungsvariable auf Ihrem Etikett: ProdCode

Loftware ordnet dann automatisch die entsprechenden Variablen den Datenbankfeldern zu.

Die Über-Gruppe gibt die ausgewählte Aktion an.

  • Name: ermöglicht es Ihnen, einen benutzerdefinierten Namen anzugeben. So können Sie Aktionen in der Liste der Aktionen in der Lösung leichter erkennen. Standardmäßig werden Aktionsnamen vom Typ der jeweiligen Aktion abgeleitet.
  • Beschreibung: benutzerdefinierte Informationen über die Aktion. Geben Sie eine Beschreibung ein, um den Zweck und die Rolle einer Aktion in einer Lösung zu erklären.
  • Aktionstyp: Nur-Lesen-Informationen über den ausgewählten Aktionstyp.

Die Gruppe Datenbankverbindung definiert die Datenbankverbindung, die für die Anweisung verwendet wird.

Tipp

Bevor Sie eine SQL-Anweisung an die Datenbank senden können, müssen Sie die Datenbankverbindung einrichten. Klicken Sie auf die Schaltfläche Definieren und folgen Sie den Anweisungen auf dem Bildschirm. Sie können nur eine Verbindung zu einer Datenquelle herstellen, die mithilfe von SQL-Befehlen gesteuert werden kann, und können daher keine Textdateien (CSV) oder Excel-Dateien verwenden.

Die Gruppe SQL-Anweisung definiert eine auszuführende SQL-Anweisung oder -Abfrage.

Tipp

Anweisungen in Data Manipulation Language (DML) sind erlaubt, um vorhandene Datenbanktabellen abzufragen.

Verwenden Sie Standard-SQL-Anweisungen wie SELECT, INSERT, DELETE und UPDATE, einschließlich Joins, Funktionen und Stichwörtern. Die Anweisungen in DDL-Sprache zur Erstellung von Datenbanken und Tabellen (CREATE DATABASE, CREATE TABLE) bzw. zum Löschen von ihnen (DROP TABLE) sind nicht erlaubt.

  • Test: öffnet den Bereich Datenvorschau. Die simulierte Ausführung (standardmäßig ausgewählt) testet die Ausführung von SQL-Anweisungen. Klicken Sie auf Ausführen, um die Simulation auszuführen.

    Tipp

    Im Bereich Datenvorschau können Sie die Anwendung Ihrer SQL-Anweisung auf einen Satz von Echtzeitdaten testen. Um die Daten vor unbeabsichtigten Änderungen zu schützen, muss die Option Ausführung simulieren aktiviert sein. Die Anweisungen INSERT, DELETE und UPDATE werden ausgeführt. So können Sie eine Rückmeldung zur Anzahl der betroffenen Datensätze erhalten; danach werden alle Aktionen rückgängig gemacht.

    Wenn Sie Trigger-Variablen in der SQL-Anweisung verwenden, können Sie deren Werte für die Testausführung angeben.

  • Datenquelle einfügen : fügt vordefinierte oder neu erstellte Variablen in eine SQL-Anweisung ein.

  • Exportieren/Importieren: ermöglicht das Exportieren und Importieren von SQL-Anweisungen in eine/aus einer externe (n) Datei.

  • Ausführungsmodus: gibt den exakten Modus der Ausführung der SQL-Anweisung an.

    Tipp

    Im Fall von komplexen SQL-Abfragen wird es zunehmend schwerer, automatisch zu bestimmen, worin die gewünschte Aktion bestehen soll. Falls die integrierte Logik Probleme damit hat, Ihre Absicht zu verstehen, wählen Sie die Hauptaktion manuell aus.

    • Automatisch: bestimmt die Aktion automatisch.

    • Gibt einen Satz von Datensätzen AUS (SELECT): gibt das Daten-Set mit Datensätzen aus.

    • Gibt keinen Satz von Datensätzen aus (INSERT, DELETE, UPDATE): nutzen Sie diese Option, wenn Sie eine Abfrage ausführen, die keine Datensätze ausgibt. Sie fügen entweder neue Datensätze ein oder löschen bzw. aktualisieren die vorhandenen Datensätze. Das Ergebnis ist eine Statusantwort mit der Anzahl von Zeilen, auf die sich Ihre Abfrage ausgewirkt hat.

  • Zeitüberschreitung bei der Ausführung : ermöglicht es Ihnen, die Zeitverzögerung für das Senden Ihrer Befehle an den SQL-Server festzulegen. Verwenden Sie die Zeitüberschreitung, wenn Sie mehrere aufeinander folgende SQL-Befehle senden, die eine längere Verarbeitungszeit erfordern.

    Geben Sie die gewünschte Zeitüberschreitungsdauer in Sekunden an. Standardmäßig beträgt die Zeitüberschreitungsdauer bei der Ausführung 60 Sekunden. Wenn Sie möchten, dass Ihr Datenbankanbieter die Zeitüberschreitung festlegt, geben Sie 0 Sekunden ein.

Die Ergebnis-Gruppe ermöglicht es Ihnen, festzulegen, wie die SQL-Anweisung gespeichert werden soll, und die Schritte für die Aktion zu definieren.

  • Daten in Variable speichern : Wählt eine Variable aus oder erstellt eine Variable, um das Ergebnis der SQL-Anweisung zu speichern. Diese Option hängt vom ausgewählten Ausführungsmodus ab.

    • Ergebnis der SELECT-Anweisung. Nach Ausführung einer SELECT-Anweisung wird ein Daten-Set mit Datensätzen ausgegeben. Sie erhalten den Textinhalt im CSV-Format. Die erste Zeile enthält die Namen der im Ergebnis ausgegebenen Felder. Die nächste Zeile enthält Datensätze.

      Um die Werte aus dem ausgegebenen Daten-Set zu extrahieren und in anderen Aktionen zu verwenden, definieren Sie die Aktion „Datenfilter verwenden“ und wenden Sie sie auf den Inhalt dieser Variablen an (diese Aktion steht in Automation Builder zur Verfügung).

    • Ergebnis der INSERT-, DELETE- und UPDATE-Anweisungen. Wenn Sie INSERT-, DELETE- und UPDATE-Anweisungen nutzen, erhalten Sie als Ergebnis die Anzahl betroffener Datensätze in der Tabelle.

  • Für jeden Datensatz iterieren. Sofern aktiviert, wird Loftware automatisch eine neue Aktion Für jeden Datensatz. Mehr über diese Aktion erfahren Sie in einem eigenen Thema.

    Alle geschachtelten Aktionen werden für jeden Datensatz wiederholt, der anhand der SQL-Anweisung ausgegeben wurde.

    Hinweis

    Die automatische Zuordnung von Datenbankfeldern ist aktiviert. Aufforderungsvariablen auf Ihrem Etikett werden automatisch mit den gleichnamigen Datenbankfeldern verbunden. Zum Beispiel:

    Database field: food_products_1c.ProdCode

    Aufforderungsvariable auf Ihrem Etikett: ProdCode

Die Gruppe Bei Fehler wiederholen ermöglicht es Ihnen, die Aktion so zu konfigurieren, dass sie laufend versucht, eine Verbindung zu einem Datenbankserver herzustellen, wenn dies beim ersten Versuch nicht gelingt. Falls die Aktion nach der definierten Anzahl von Versuchen immer noch fehlschlägt, wird ein Fehler ausgegeben.

  • Wiederholungsversuche: legt die Anzahl von Versuchen fest, eine Verbindung zum Datenbankserver herzustellen.

  • Wiederholungsintervall: legt die Zeit zwischen einzelnen Wiederholungsversuchen fest.

Warnung:

Fügen Sie das Objekt Datenbanktabelle nicht in Ihr Druckformular ein, wenn Sie die Aktion SQL-Anweisung ausführen verwenden. Die Ergebnisse könnten falsch sein.

Beispiel

Sie möchten Etiketten mit Daten aus Ihrer Datenbank food_products_1c drucken, aber nur Datensätze mit dem vordefinierten Feldwert UseBy.

Sie definieren den UseBy -Wert mit der Variablen ProdUser. In diesem Fall ist der ProdUser -Wert "3".

Nachdem jedes Etikett gedruckt wurde, Loftware werden die Datenbankwerte in eine Textdatei auf Ihre Festplatte geschrieben. Verwenden Sie die folgenden Aktionen:

UUID-507bcc38-919d-635b-5209-8706fb3d61e2.png

UUID-cb65b196-d5b2-4725-89d9-14f266f5cb64.png

Es werden nur Etiketten gedruckt, deren UseBy -Wert gleich "3" ist, und die Werte werden in eine Textdatei geschrieben:

UUID-637fe74b-7603-a307-be15-a9e8afba04f5.png

Aktionsausführung und Fehlerhandhabung

Jede Aktion kann als bedingungsabhängige Aktion festgelegt werden. Bedingungsabhängige Aktionen werden nur ausgeführt, wenn die festgelegten Bedingungen erfüllt sind. Um diese Bedingungen zu definieren, klicken Sie auf Optionen für Ausführung und Fehlerhandhabung anzeigen.

Die Ausführungsoptionen sind:

  • Aktiviert: gibt an, ob die Aktion aktiviert oder deaktiviert ist. Nur aktivierte Aktionen werden ausgeführt. Diese Funktion kann beim Testen einer Druckmaske verwendet werden.
  • Bedingung: definiert einen einzeiligen Programmierausdruck, welcher einen booleschen Wert bereitstellen muss (wahr oder falsch). Ist das Ergebnis des Ausdrucks wahr, wird die Aktion ausgeführt. Bedingungen sorgen dafür, dass Aktionen nicht jedes Mal ausgeführt werden müssen.

Die Fehlerhandhabung-Optionen sind:

  • Fehler ignorieren : gibt an, ob ein Fehler ignoriert werden soll. Wenn aktiviert, wird die Ausführung von Aktionen selbst dann fortgesetzt, wenn die aktuelle Aktion fehlschlägt.

    Hinweis

    Geschachtelte Aktionen, die von der aktuellen Aktion abhängig sind, werden im Fall eines Fehlers nicht ausgeführt. Die Aktionsausführung wird bei der nächsten Aktion fortgesetzt, die sich auf derselben Ebene wie die aktuelle Aktion befindet. Der Fehler wird protokolliert, führt aber nicht zu einer Unterbrechung der Ausführung von Aktionen.

  • Beispiel

    Am Ende des Druckvorgangs möchten Sie eventuell mittels der Aktion HTTP-Anfrage einen Statusbericht an eine externe Anwendung senden. Wenn die Druckaktion fehlschlägt, wird die Aktionsverarbeitung angehalten. Um die Berichterstellung trotz fehlgeschlagener Druckaktion auszuführen, muss für die Aktion Etikett drucken die Option Fehler ignorieren aktiviert sein.

  • Fehler in Variable speichern : ermöglicht Ihnen, eine Variable auszuwählen oder zu erstellen, in der der Fehler gespeichert werden soll. Dieselbe Fehlerbeschreibung wird zudem in den internen Variablen ActionLastErrorId und ActionLastErrorDesc gespeichert.