GlideQueryCondition – Umfang

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Der Umfang ist festgelegt GlideQueryCondition API bietet zusätzliche UND Oder ODER Bedingungen, die der aktuellen Bedingung hinzugefügt werden können, sodass Sie komplexe Abfragen erstellen können.

    Komplexe Abfragen erstellen, z. B.:
    category='hardware' OR category='software' AND priority='2' AND priority='1'

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

    Diese Klasse hat keinen Konstruktor. Ein GlideQueryCondition-Objekt wird mit den folgenden Methoden zurückgegeben:
    • AddActiveQuery()
    • AddInactiveQuery()
    • AddJoinQuery()
    • AddNotNullQuery()
    • AddNullQuery()
    • AddQuery()

    Wenn ein komplizierter Satz von vorhanden ist UND Und ODER Abfragen, eine einzelne codierte Abfrage, die alle Bedingungen enthält, vereinfacht die Abfrageerstellung. Um die Abfrageerstellung zu vereinfachen, erstellen Sie eine Abfrage in einer Listenansicht, klicken Sie mit der rechten Maustaste auf die Abfrage, und wählen Sie aus Abfrage kopieren . Erstellt eine einzelne codierte Abfragezeichenfolge, um Ihren Ergebnissatz zurückzugeben. Verwenden Sie diese Zeichenfolge als Parameter in AddEncodedQuery() Rufen Sie an.

    Testen Sie Abfragen immer auf einer Subproduktionsinstanz, bevor Sie sie in einer Produktionsinstanz bereitstellen. Eine falsch konstruierte codierte Abfrage, z. B. das Hinzufügen eines ungültigen Feldnamens, erzeugt eine ungültige Abfrage. Wenn die ungültige Abfrage ausgeführt wird, wird der ungültige Teil der Abfragebedingung verworfen, und die Ergebnisse basieren auf dem gültigen Teil der Abfrage, der möglicherweise alle Datensätze aus der Tabelle zurückgibt. Mit Einfügen() , Aktualisieren () , DeleteRecord() , Oder DeleteMultiple() Die Methode für fehlerhafte Abfrageergebnisse kann 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 weiterhin 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 (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)

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

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    name Zeichenfolge Name eines Felds.
    betrieb Zeichenfolge Optional. Der Operator für die Abfrage. Wenn Sie keinen Operator angeben, verwendet die Bedingung einen gleich-Operator.
    Wert Objekt Wert, der abgefragt werden soll.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Verweis auf eine GlideQueryConditon, die 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 (Zeichenfolgenname, Zeichenfolgenoperator, Objektwert)

    Hängt einen zwei- oder drei-Parameter ODER eine Bedingung an eine vorhandene GlideQueryCondition an.

    AddOrCondition() Funktioniert in Verbindung mit einem der AddQuery() Methoden bis ODER Die angegebenen Abfrageparameter für die zuvor mit erstellte Abfrage AddQuery() .

    AddOrCondition() Wird normalerweise mit drei Parametern aufgerufen: Tabellenfeld, Operator und Vergleichswert. Es kann nur mit zwei Parametern aufgerufen werden, dem Tabellenfeld und dem Vergleichswert, z. B. qc.addOrCondition('category', 'Software'); . Der Operator in diesem Fall wird als „gleich“ angenommen.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    name Zeichenfolge Feldname
    betrieb Zeichenfolge (Optional) Abfrageoperator. Die verfügbaren Werte hängen vom Datentyp von ab Wert Parameter.
    Nummern:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Zeichenfolgen (muss in Großbuchstaben angegeben werden):
    • =
    • !=
    • IN
    • STARTSWITH
    • ENDSWITH
    • ENTHÄLT
    • DOESNOTCONTAIN
    Wert Objekt Wert, für den abgefragt werden soll (Groß-/Kleinschreibung wird nicht beachtet).
    Hinweis:
    Alle übergebenen Arrays müssen mindestens zwei Elemente enthalten. Einzelne Element-Arrays werden nicht unterstützt.
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Ein Verweis auf eine GlideQueryConditon, 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 UND/ODER von Anweisungen zum Erstellen komplexer Abfragen, z. B. „alle Incidents mit einem (Status kleiner als 3 ODER größer als 5) UND (Priorität ist 1 ODER Priorität 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();