Zum Inhalt springen

mvSQL in Jitterbit App Builder

Übersicht

mvSQL ist App Builders eigener SQL-Dialekt. Er ermöglicht es Benutzern, eine einzige Syntax und ein einziges Set von Funktionen zu erlernen und zu verwenden, während App Builder diese Syntax in herstellerspezifische Ausdrücke übersetzt. mvSQL kann zum Abfragen von relationalen Datenbanken, Speichern, REST, Dateisystemen oder anderen Datenanbietern verwendet werden, die App Builder unterstützt.

mvSQL-Versionen

Die von App Builder unterstützten mvSQL-Versionen werden aufgelistet, wobei die älteste unterstützte Version zuerst angezeigt wird (Version 1).

Version 1

Die älteste Legacy-Version, die App Builder unterstützt. Version 1 mvSQL ist noch strenger als das, was wir vor der Überarbeitung der Grammatik und des Parsers zugelassen haben. Die meisten Legacy-Apps von App Builder sollten mit dieser Version ausgeführt werden.

Version 2

Version 2 mvSQL verbessert die Passthrough-Syntax, unterstützt die Möglichkeit, diese zu schließen und reguläre mvSQL-Ausdrücke fortzusetzen, und unterstützt das Escaping von Zeichen.

Beispiel

Version 1 würde dies (in MS SQL Server) ${ [vendor syntax] } || 'my example' als ${ [vendor syntax] || 'my example' } interpretieren und [vendor syntax] || 'my example' rendern.

Version 2 würde wie beabsichtigt analysiert und als [vendor syntax] + 'my example' gerendert. Beachten Sie, dass die Verkettung herstellerspezifisch ist.

Version 3

Version 3 mvSQL erfordert, dass Tabellenpräfixe korrekt sind. Bis zu dieser Version hätte App Builder, wenn das Tabellenpräfix falsch war, es durch Überprüfung der anderen Spalten ableiten können und hätte falsche Tabellenpräfixe zugelassen.

Beispiel

In früheren Versionen von mvSQL würde die Verwendung eines Tabellenalias, der nicht vorhanden ist, oder sogar eines, der vorhanden ist, aber nicht die referenzierte Spalte enthält, immer noch funktionieren, solange dieser Spaltenname nur in einer der Quellen angezeigt wird. Dieses Szenario stellt ein Problem dar, wenn derselbe Spaltenname zu einer anderen Quelle hinzugefügt wird und die Geschäftsregel nicht mehr funktioniert.

Version 4

In Version 4 mvSQL geben Runtime-Funktionen einen korrekten Typ aus, anstatt immer ein String zu sein, und Null-Werte werden nicht in einen leeren String zusammengefasst.

Beispiel

Shared(ColumnName, numeric)

  • Vor Version 4 würde App Builder entweder '0' ausgeben, wenn die Spalte nicht bereitgestellt wurde, oder '1', wenn sie bereitgestellt wurde (beachten Sie, dass dies als String gerendert wird, unter der Annahme, dass der gemeinsame Wert hier natürlich 1 ist)
  • Ab Version 4 gibt App Builder jetzt null aus, wenn es nicht bereitgestellt wurde, und 1 (ohne Anführungszeichen). Wir haben es auch parametrisiert, wenn der Hersteller dies unterstützt (@p0), da dies eine bessere Leistung vom Hersteller nutzen kann.
  • Dies bedeutet auch, dass es einfacher ist, den Wert zusammenzufassen. Zuvor musste man, wenn man den Wert ändern wollte, falls er nicht bereitgestellt wurde, etwas wie IIF(Shared(ColumnName) = '', -1, Shared(ColumnName, numeric)) verwenden. Jetzt kann man ISNULL(Shared(ColumnName, numeric), -1) verwenden.
  • Neue Regeln werden mit der höchsten verfügbaren Version (Version 4) erstellt. Um Legacy-Regeln nicht zu unterbrechen, haben wir sie beibehalten. Wenn Änderungen an einer Regel vorgenommen werden, die nicht von dieser betroffen sind (hauptsächlich Regeln ohne Runtime-Funktionen), aktualisiert App Builder die mvSQL-Version automatisch.

Version 5

In Version 5 behandelt mvSQL jeden Passthrough als GROUP-bar, wenn er Teil einer Aggregatabfrage ist.

Um anzugeben, dass ein Ausdruck ein Aggregat ist, rufen Sie ihn mit der Funktion Expression() auf.

Beispiel

Expression(${Count(1)})

Passthrough-Ausdrücke

Passthrough-Ausdrücke verwenden die Syntax ${...}, um herstellerspezifisches SQL in eine mvSQL-Abfrage einzufügen (siehe SQL escapen für Syntaxdetails). Da Passthrough-Ausdrücke herstellerspezifisch sind, sind sie nicht über Datenbanktypen hinweg portierbar, daher wird ihre Verwendung nicht empfohlen. Ob Passthrough-Ausdrücke verwendet werden können, hängt von der App Builder-Version ab:

  • In App Builder 4.65 und früher können Passthrough-Ausdrücke verwendet werden.

  • In App Builder 4.66 und später müssen Sie die Option Allow Passthrough Expressions (Passthrough-Ausdrücke zulassen) auf der Registerkarte Data Sources der App Workbench aktivieren, um Regeln mit Passthrough-Ausdrücken gültig zu halten. Andernfalls erlaubt App Builder das Speichern einer solchen Regel weiterhin, kennzeichnet sie aber als ungültig, wenn Sie Validate Rules (Regeln validieren) ausführen oder die Ergebnisse der Regel anzeigen.

Ressourcen