GlideQueryCondition – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Der Umfang ist festgelegt 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 einem addEncodedQuery()-Aufruf.

    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. Der Operator für die Abfrage. Wenn Sie keinen Operator angeben, verwendet die Bedingung einen equals-Operator.
    Wert Objekt Wert, der abgefragt werden soll.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Verweis auf ein GlideQueryConditon, das dem Glide-Datensatz 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());

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

    Hängt einen zwei- oder drei-Parameter ODER eine Bedingung 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());
    

    Zum Gruppieren von AND- oder OR-Anweisungen, wie „All incidents with a (state less than 3 OR greater than 5) AND (priority is 1 OR priority is 5)“

    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();