GlideQueryCondition – Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Die GlideQueryCondition Die API stellt zusätzliche bereit UND Oder ODER Bedingungen, die der aktuellen Bedingung hinzugefügt werden können, sodass Sie komplexe Abfragen erstellen können.

    Erstellt komplexe Abfragen wie:
    category='hardware' OR category='software' AND priority='2' AND priority='1'

    Im Fall von AddCondition() , Ein implizit UND Wird hinzugefügt.

    Diese Klasse hat keinen Konstruktor. Ein GlideQueryCondition-Objekt wird von den folgenden Methoden zurückgegeben:
    • addActiveQuery()
    • addInactiveQuery()
    • addJoinQuery()
    • addNotNullQuery()
    • addNullQuery()
    • addQuery()

    Wenn es einen komplizierten Satz von gibt UND Und ODER Abfragen, eine einzelne codierte Abfrage, die alle Bedingungen enthält, vereinfacht die Erstellung von Abfragen. Erstellen Sie zur Vereinfachung der Abfrageerstellung eine Abfrage in einer Listenansicht, klicken Sie mit der rechten Maustaste auf die Abfrage, und wählen Sie Abfrage kopieren aus. Dies erstellt eine einzelne codierte Abfragezeichenfolge, um Ihren Ergebnissatz zurückzugeben. Verwenden Sie diese Zeichenfolge als Parameter in AddEncodedQuery() Methodenaufruf.

    Testen Sie Abfragen immer in einer Test- und Entwicklungsumgebung, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch erstellte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, führt zu einer ungültigen Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung gelöscht und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Die Methode insert(), update(), deleteRecord() oder deleteMultiple() kann bei schlechten Abfrageergebnissen zu Datenverlust führen.

    Sie können festlegen glide.invalid_query.returns_no_rowsSystemeigenschaft auf „wahr“, damit Abfragen mit ungültigen codierten Abfragen keine Datensätze zurückgeben. In einigen Fällen kann die Abfrage Datensätze in API-Ergebnissen zurückgeben, auch wenn glide.invalid_query.returns_no_rowsIst auf „wahr“ festgelegt. Dies geschieht in Abfragen, bei denen ein ungültiger Abfragebegriff mit einem WHERE-Operator verwendet wird. In solchen Abfragen ignoriert der WHERE-Operator die ungültigen Begriffe, interpretiert jedoch den Rest der Abfrageanweisung und gibt ihn zurück. Weitere Informationen zu dieser Systemeigenschaft und ihrer Funktionalität finden Sie unter Available system properties.

    GlideQueryCondition – addCondition(String name, String oper, Object value)

    Fügt der aktuellen Bedingung eine UND-Bedingung hinzu.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name eines Felds.
    oper Zeichenfolge (Optional) Operator für die Abfrage. Wenn Sie keinen Operator angeben, verwendet die Bedingung einen equals-Operator.
    Wert Objekt Abzufragender Wert.
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    GlideQueryCondition Ein Verweis auf einen GlideQueryBedingung Der dem GlideRecord hinzugefügt wurde.
    var now_GR = new GlideRecord('incident');
    var qc = now_GR.addQuery('category', 'Hardware');
    qc.addCondition('category', 'Network');
    now_GR.addQuery('number','INC0000003');
    now_GR.next();
    now_GR.number;
    gs.info(now_GR.getEncodedQuery());

    Bereichsbezogenes Äquivalent

    Um die addCondition()-Methode in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: addCondition().

    GlideQueryCondition – addOrCondition(String name, String oper, Object value)

    Hängt eine OR-Bedingung mit 2 oder 3 Parametern an eine vorhandene GlideQueryCondition an.

    addOrCondition() arbeitet in Verbindung mit einer beliebigen addQuery()-Methode, um OR für die angegebenen Abfrageparameter und die Abfrage zu verwenden, die zuvor mit addQuery() erstellt wurde.

    addOrCondition() wird normalerweise mit drei Parametern aufgerufen; Tabellenfeld, Operator und Vergleichswert. Es kann nur mit zwei Parametern aufgerufen werden, Tabellenfeld und Vergleichswert, z. B. qc.addOrCondition('category', 'software');. In diesem Fall wird davon ausgegangen, dass der Operator „equal to“ ist.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Feldname
    oper Zeichenfolge (Optional) Abfrageoperator. Die verfügbaren Werte sind vom Datentyp des value-Parameters abhängig.
    Zahlen:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (in Großbuchstaben):
    • =
    • !=
    • IN
    • STARTSWITH
    • ENDSWITH
    • CONTAINS
    • DOESNOTCONTAIN
    Wert Objekt Wert, nach dem abgefragt werden soll (Groß- und Kleinschreibung wird nicht berücksichtigt).
    Hinweis:
    Alle in Arrays übergebenen Objekte müssen mindestens zwei Elemente enthalten. Einzelelement-Arrays werden nicht unterstützt.
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    GlideQueryCondition Referenz auf eine GlideQueryCondition, die dem GlideRecord hinzugefügt wurde.
    var now_GR = new GlideRecord('incident');
    var qc = now_GR.addQuery('category', 'Hardware');
    qc.addOrCondition('category', 'Network');
    now_GR.addQuery('number','INC0000003');
    now_GR.next();
    now_GR.number;
    gs.info(now_GR.getEncodedQuery());
    

    Um AND- oder OR-Anweisungen zu gruppieren, wie (state < 3 OR state > 5) AND (priority = 1 OR priority = 5), verwenden Sie folgenden Code:

    var myObj = new GlideRecord('incident');
    var q1 = myObj.addQuery('state', '<', 3);
    q1.addOrCondition('state', '>', 5);
    var q2 = myObj.addQuery('priority', 1);
    q2.addOrCondition('priority', 5);
    myObj.query();

    Bereichsbezogenes Äquivalent

    Um die addOrCondition()-Methode in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: addOrCondition().