Mvsql im Jitterbit App Builder
Übersicht
mvSQL ist App Builder eigener SQL-Dialekt. Er ermöglicht es den Benutzern, einen einzigen Satz von Syntax und Funktionen zu erlernen und zu verwenden, während App Builder übersetzt diese Syntax in anbieterspezifische Ausdrücke. mvSQL kann verwendet werden, um relationale Datenbanken, Speicher, REST, Dateisysteme oder andere Arten von Datenanbietern Abfrage. App Builder unterstützt.
Mvsql Versionen
mvSQL-Versionen werden unterstützt von App Builder werden aufgelistet, wobei die älteste unterstützte Version zuerst erscheint (Version 1).
Version 1
Die älteste Legacy-Version App Builder unterstützt, ist Version 1 von mvSQL sogar strenger als wir es vor der Überarbeitung der Grammatik und des Parsers zugelassen haben. Die meisten Legacy- App Builder Apps sollten mit dieser Version laufen.
Version 2
Version 2 von mvSQL verbessert die Passthrough-Syntax, unterstützt die Möglichkeit, sie zu schließen und reguläre mvSQL-Ausdrücke fortzusetzen, und unterstützt das Escapen von Zeichen.
Beispiel
Version 1 würde dies sehen (in MS SQL Server) ${
[Anbietersyntax] } || 'my example'
als ${
[Anbietersyntax] || 'my example' }
Rendern [vendor syntax] || 'my example'
.
Version 2 würde wie vorgesehen analysiert und wie folgt gerendert: [vendor syntax] + 'my example'
. Beachten Sie, dass die Verkettung anbietergerecht ist).
Version 3
Version 3 von mvSQL erfordert korrekte Tabellenpräfixe. Bis zu dieser Version war das Tabellenpräfix falsch und App Builder Wenn wir es durch Prüfen der anderen Spalten ableiten könnten, würden wir falsche Tabellenpräfixe zulassen.
Beispiel
In früheren Versionen von mvSQL funktionierte die Verwendung eines Tabellenalias, der nicht existiert, oder sogar eines Tabellenalias, der existiert, aber nicht die referenzierte Spalte enthält, immer noch, solange dieser Spaltenname nur in einer der Quellen auftauchte. Dieses Szenario stellt ein Problem dar, wenn derselbe Spaltenname einer anderen Quelle hinzugefügt wird und die Geschäftsregel nicht mehr funktioniert.
Version 4
In Version 4 von mvSQL geben Runtime-Funktionen einen richtigen Typ aus, anstatt immer eine Zeichenfolge zu sein, und Nullwerte werden nicht zu einer leeren Zeichenfolge zusammengeführt.
Beispiel
Shared(ColumnName, numeric)
- Vor Version 4, App Builder würde entweder ausgeben
'0'
wenn die Spalte nicht angegeben wurde, oder'1'
wenn es so wäre (beachten Sie, dass es als Zeichenfolge wiedergegeben wird, vorausgesetzt, der gemeinsame Wert ist hier1
natürlich) - Ab Version 4, App Builder gibt jetzt aus
null
wenn es nicht bereitgestellt wurde, und1
(ohne Anführungszeichen), wir haben auch parametrisiert, ob der Anbieter es unterstützt (@p0
), da hierdurch eine bessere Leistung des Anbieters erzielt werden kann. - Dies bedeutet auch, dass es einfacher ist, den Wert zusammenzufassen. Wenn Sie den Wert vorher ändern wollten und er nicht angegeben war, hätten Sie etwas wie
IIF(Shared(ColumnName) = '', -1, Shared(ColumnName, numeric))
, jetzt können Sie verwendenISNULL(Shared(ColumnName, numeric), -1)
- Neue Regeln werden mit der höchsten verfügbaren Version (Version 4) erstellt, aber um alte Regeln nicht zu beschädigen, haben wir sie so belassen, wie sie waren. Wenn Änderungen an einer Regel vorgenommen werden, ist diese davon nicht betroffen (hauptsächlich Regeln ohne Laufzeit). App Builder aktualisiert die mvSQL-Version automatisch.
Version 5
In Version 5 behandelt mvSQL jeden Passthrough als GRUPPIERBAR, wenn er Teil einer aggregierten Abfrage ist.
Um anzugeben, dass ein Ausdruck ein Aggregat ist, rufen Sie ihn mit dem Expression()
Funktion.
Beispiel
Expression(${Count(1)})