SQL Query Generator
Der SQL Query Generator hilft SQL Statements zu erstellen und diese auch clientseitig mit JSON Objekten zu testen.
Das Utility sqlGen ( com/alta4/utility/SqlGen) dient dem Erstellen und Verknüpfen von SqlGenFilter Objekten.
Methoden
Name |
Parameters |
SQL |
Rückgabetyp |
Beschreibung |
NOT |
|
(NOT expression) |
SqlGenFilter |
Negiert einen Filter |
AND |
|
(expr1 AND expr2 ..) |
SqlGenFilter |
Kombiniert mehrere Filter mit einer Und-Verbindung. |
OR |
|
(expr1 OR expr2 ...) |
SqlGenFilter |
Kombiniert mehrere Filter mit einer Oder-Verbindung. |
LT |
|
(key < value) |
SqlGenFilter |
Testet ob der Wert im Feld key kleiner als value ist. |
EQ |
|
(key = value) |
SqlGenFilter |
Testet ob der Wert im Feld key gleich value ist. |
NE |
|
(key != value) |
SqlGenFilter |
Testet ob der Wert im Feld key ungleich value ist. |
LE |
|
(key <= value) |
SqlGenFilter |
Testet ob der Wert im Feld key kleiner oder gleich value ist. |
GT |
|
(key > value) |
SqlGenFilter |
Testet ob der Wert im Feld key größer oder gleich value ist |
GE |
|
(key >= value) |
SqlGenFilter |
Testet ob der Wert im Feld key größer als value ist. |
IS_NULL |
|
(key IS NULL) |
SqlGenFilter |
Testet ob der Wert im Feld key NULL ist. |
NOT_NULL |
|
(key IS NOT NULL) |
SqlGenFilter |
Testet ob der Wert im Feld key ungleich NULL ist. |
IN |
|
(key IN (value1, value2, ...)) |
SqlGenFilter |
Testet ob der Wert im Feld key in values vorhanden ist. |
NOT_IN |
|
(key NOT IN (value1, value2, ...)) |
SqlGenFilter |
Testet ob der Wert im Feld key in values nicht vorhanden ist. |
Konstanten
Name |
Typ |
SQL |
Beschreibung |
TRUE |
SqlGenFilter |
(1=1) |
Gibt immer true zurück |
FALSE |
SqlGenFilter |
(1=0) |
Gibt immer false zurück |
Ein SqlGenFilter Objekt beinhaltet:
-
Methoden zum SQL erzeugen und clientseitigem Testen
-
Attribute zum Inspizieren der Filter Parameter (um z.B. eine View anzupassen)
Methoden
Name |
Parameter |
Rückgabetyp |
Beschreibung |
test |
|
boolean |
Testet den Filter auf die übergebenen Daten clientseitig |
toString |
|
string |
erzeugt einen SQL WHERE Clause. |
Attribute
Name |
Typ |
Gesetzt durch |
Beschreibung |
type |
string |
Alle Typen |
Name der SqlGen Methode |
filter |
SqlGenFilter |
NOT |
Der Filter der negiert werden soll |
filters |
Array<SqlGenFilter> |
AND, OR |
Ein Array aller Filter die geprüft werden soll |
key |
string |
Alle außer TRUE, FALSE, NOT, AND, OR |
Name der Spalte die zu prüfen ist. |
value |
string | number |
LT, EQ, NE, LE, GT, GE |
Wert auf den geprüft werden soll |
values |
Array<string | number> |
IN, NOT_IN |
Ein Array an Werten auf die geprüft werden soll |
require([
"com/alta4/utility/SqlGen"
],
function
(sqlGen) {
var
filter = sqlGen.AND(
sqlGen.IN(
'brand'
, [
'Seat'
,
'Opel'
]),
sqlGen.LE(
'seats'
, 4),
sqlGen.GE(
'seats'
, 2),
sqlGen.TRUE );
console.log(filter.toString());
var
test1 = {brand:
'Seat'
, seats: 2};
console.log(filter.test(test1), test1);
var
test2 = {brand:
'Seat'
, seats: 1};
console.log(filter.test(test2), test2);
var
test3 = {brand:
'Seato'
, seats: 2};
console.log(filter.test(test3), test3);
});