GlideQuery: Bereichsbezogen, Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 28 Minuten Lesedauer
  • Die GlideQuery Die Skripteinbindung ist eine Alternative zu GlideRecord API zum Ausführen von CRUD-Vorgängen für Datensatzdaten aus serverseitigen Skripts.

    Die GlideQuery Mit der Skripteinbindung können Sie:

    • Verwenden Sie standardmäßige JavaScript-Objekte und -Typen für Abfragen und Ergebnisse.
    • Diagnostizieren Sie schnell Abfragefehler mit zusätzlichen Prüfungen und leeren Fehlermeldungen.
    • Vereinfachen Sie Ihren Code, indem Sie Abfragemuster für Kessel-Platten vermeiden.
    • Vermeiden Sie häufige Leistungsprobleme, ohne tiefere Kenntnisse über GlideRecord zu benötigen.
    Verwenden Sie GlideQuery Skripteinbindung in bereichsbezogenen oder globalen serverseitigen Skripts. Bei Verwendung in einer bereichsbezogenen App muss ihr der globale Bereich vorangestellt werden.
    new global.GlideQuery('sys_user')
    // ...
    Diese Skripteinbindung erfordert das Plugin GlideQuery [com.sn_glidequery].

    Implementierung

    Diese Skripteinbindung funktioniert mit Stream Und Optional APIs in einem builder-Muster, bei dem die Methode die Kette aufruft, wobei jede Methode auf dem zurückgegebenen Ergebnis der vorherigen Methode aufbaut. Verwenden Sie Methoden, um die Attribute der Abfrage zu definieren. Die Methoden werden erst ausgeführt, wenn Sie eine Terminalmethode aufrufen, eine Methode, die ein Abfrageergebnis zurückgibt, sodass Sie die Anforderungen der Abfrage vor der Ausführung definieren können.

    Wenn die Abfrage einen einzelnen Datensatz zurückgibt, umschließt das System das Ergebnis in ein optionales Objekt. Wenn die Abfrage einen Stream von Datensätzen zurückgibt, umschließt das System das Ergebnis in ein Stream-Objekt. Mit diesen Objekten können Sie das Ergebnis mit einer Reihe von Methoden in jeder API verwalten.

    Zum Beispiel dies Das Skript führt eine Abfrage für die Aufgabentabelle durch, gruppiert die Datensätze nach Priorität und gibt jede Priorität zurück, deren Neuzuweisungen insgesamt größer als vier sind.

    var query = new global.GlideQuery('task')
        .where('active', true) //Returns new GlideQuery object with a "where" clause.
        .groupBy('priority') //Returns new GlideQuery object with a "group by" clause.
        .aggregate('sum', 'reassignment_count') //Returns new GlideQuery object with a "sum(reassignment_count)" clause.
        .having('sum', 'reassignment_count', '>', 4) //Returns new GlideQuery object with a "having reassignment_count > 4" clause.
        .select() //Returns a stream of records wrapped in a Stream object.  
        .forEach(function (priority){ //Terminal method in the Stream class that executes the query and returns the result. 
          gs.info("Priority " + priority.group.priority + ": " + priority.sum.reassignment_count + " reassignments");
        });
    Ausgabe:
    Priority 1: 11 reassignments
    Priority 3: 6 reassignments
    Priority 5: 5 reassignments

    Fehlerbehandlung

    Die GlideQuery Die Skripteinbindung löst einen Fehler aus, wenn bei Ihrer Abfrage ein Problem auftritt, und enthält eine klare Erklärung, die Ihnen hilft. Diese Skripteinbindung prüft auf:

    • Ungültige Felder
    • Ungültige Werttypen für ein Feld
    • Ungültige Werte für Auswahlfelder
    • Ungültige Abfrageoperatoren

    Beispielsweise würde das folgende Codebeispiel einen Fehler auslösen, da das abgefragte Feld nicht in der Tabelle vorhanden ist.

    new global.GlideQuery('task')
        .where('id', '4717dfe5a9fe198100450448b2404c16') // should be 'sys_id'
        .select('description', 'severity')
        .toArray(100);
      // Error: Unable to find field 'id' in table 'task'. Known fields: active, activity_due, ...

    Dieses Codebeispiel würde einen Fehler auslösen, da der Datentyp eines der Argumente falsch ist.

    new global.GlideQuery('task')
        .where('priority', 'one') // priority is an integer (should be 1)
        .select('description', 'severity')
        .toArray(100);
      // Error: Unable to match value ['one'] with field 'priority' in table 'task'. Expecting type 'integer'

    Wiederverwenden

    Da GlideQuery-Objekte unveränderlich sind, können Sie sie später in anderen Teilen Ihres Codes wiederverwenden. Dieses Skript erstellt beispielsweise eine Abfrage und verwendet dann später das GlideQuery-Objekt, um einen Bericht zu generieren.

    var highPriorityTasks = new global.GlideQuery('task')
        .where('active', true)
        .where('priority', 1);
    
    generateReport(highPriorityTasks);
    notifyOwners(highPriorityTasks);
    var avgReassignmentCount = highPriorityTasks
        .avg('reassignment_count')
        .orElse(0)
    

    Einschränkungen

    Die GlideQuery Skripteinbindung unterstützt nicht:

    • Lesen oder Schreiben in Tabellen, die keinen Zugriff aus anderen Bereichen zulassen.
    • Codierte Abfragen werden gelesen.
    • GlideDate- oder GlideDateTime-Objekte, die als JavaScript-Zeichenfolgen gelesen werden.
    • FX-Währungsfelder.
    • Journalfeldtypen werden aktualisiert.
    • Abfragen mit mehrdeutiger bedingter Logik. Beispielsweise ist die folgende Abfrage unklar, da das System nicht weiß, ob sie ausgeführt werden soll (Aktiv = wahr UND Name != null) ODER Last_Name = Luddy Oder Aktiv = wahr UND (Name != null ODER Last_Name = Luddy) .
      var user = new global.GlideQuery('sys_user')
        .where('active', true)
        .whereNotNull('name')
        .orWhere('last_name', 'Luddy')
        .selectOne()
        .get()

      Siehe Wobei() Methode, um zu verstehen, wie stattdessen eine untergeordnete Abfrage verschachtelt wird.

    Hinweis:
    Weil GlideQuery Die Skripteinbindung konvertiert GlideRecord-Objekte in Standard-JavaScript-Objekte. Die Ausführung von Abfragen kann länger dauern. Um Leistungsprobleme zu reduzieren, vermeiden Sie die Erstellung von Schleifen, die über eine große Anzahl von Datensätzen iterieren.

    Mittel- und Terminalmethoden in GlideQuery

    Die GlideQuery Die Skripteinbindung verwendet zwei Kategorien von Methoden: Intermediate und Terminal. Zwischenmethoden sind die Methoden, die eine zurückgeben Stream , Eine API, die für die Interaktion mit einem Stream von Elementen wie Datensätzen verwendet wird und einen flüssigen Syntaxstil ermöglicht, bei dem Aufrufe miteinander verkettet werden. Terminalmethoden sind die Methoden, die keinen Stream zurückgeben und daher die Kette von stoppen Stream Methodenaufrufe.

    In GlideQuery Skripteinbindung, Methoden wie Wobei() , OrderBy() , Und DeaktivierenWorkflow() Sind Zwischenmethoden, die ein neues GlideQuery-Objekt zurückgeben. Ebenso wird GlideQuery Die beliebtesten Terminalmethoden der Skripteinbindung, Auswählen () Und SelectOne() , Sind Terminalmethoden. Diese Methoden werden aufgerufen, wenn GlideQuery Ist mit der Konfiguration abgeschlossen und kann mit der Verarbeitung von Datensätzen beginnen. Die Unterschiede zwischen diesen beiden Methodentypen sollten bei der Konfiguration von Aufrufen für beachtet werden GlideQuery Skripteinbindung gemäß Ihren spezifischen Anwendungsfällen. Weitere Informationen zu Zwischen- und Terminalmethoden finden Sie im artikel GlideQuery – Stream-Verarbeitung Teil 1 .

    Die folgenden Methoden werden als Zwischenmethoden klassifiziert:

    • Aggregat(String aggregateType, Zeichenfolgenfeld)
    • DisableAutoSysFields()
    • DeaktivierenWorkflow()
    • ForceUpdate()
    • Groupby(Zeichenfolgenfelder)
    • Hat(String aggregateType, Zeichenfolgenfeld, Zeichenfolgenoperator, Zahlenwert)
    • Limit(Nummernlimit)
    • OrderBy(Zeichenfolgenfelder)
    • OrderByDesc(ZeichenfolgenfeldOrAggregat, Zeichenfolgenfeld)
    • OrWhere(String fieldOrQuery, Zeichenfolgenoperator, beliebiger Wert)
    • OrWhereNotNull(Zeichenfolgenfeld)
    • OrWhereNull(Zeichenfolgenfeld)
    • Wo(String fieldOrQuery, Zeichenfolgenoperator, beliebiger Wert)
    • Where NotNull(Zeichenfolgenfeld)
    • Where-Null(Zeichenfolgenfeld)
    • WithAcls()

    Die folgenden Methoden werden als Terminal klassifiziert:

    • durchschn.(Zeichenfolgenfeld)
    • Anzahl()
    • DeleteMultiple()
    • GET(Zeichenfolgenschlüssel, Array selectedFields)
    • GetBy(Object keyValues, Array selectedFields)
    • Einfügen(Object keyValues, Object selectedFields)
    • InsertOrUpdate(Objektänderungen, Objekt selectedFields)
    • max.(Zeichenfolgenfeld)
    • Min(Zeichenfolgenfeld)
    • Auswählen (Zeichenfolgenfelder)
    • SelectOne(Zeichenfolgenfelder)
    • Summe(Zeichenfolgenfeld)
    • Zu GlideRecord()
    • Aktualisieren (Objektänderungen, Objekt ausgewählt Felder)
    • UpdateMultiple (Objektänderungen)
    Hinweis:
    Analysieren (Zeichenfolgentabelle, Zeichenfolge coded_query) Ist weder Zwischen- noch Terminal, sondern statisch.

    GlideQuery – GlideQuery(Zeichenfolgentabelle)

    Instanziiert ein GlideQuery-Objekt, das zum Erstellen und Ausführen von Datensatzabfragen verwendet wird.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    table Zeichenfolge Abzufragende Tabelle.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Keine

    In diesem Beispiel wird eine Abfrage der Anwendertabelle instanziiert.

    var query = new global.GlideQuery('sys_user');

    GlideQuery – Aggregat(String aggregateType, Zeichenfolgenfeld)

    Fasst ein Feld mit einer angegebenen Zusammenfassungsfunktion zusammen.

    Verwenden Sie diese Methode, um Abfragen zu erstellen, die für mehrere Felder aggregieren oder mehrere Aggregatfunktionen verwenden, oder wenn Sie verwenden müssen Groupby() Methode. Wenn Sie nur für ein Feld mit einer Funktion aggregieren möchten und nicht verwenden müssen Groupby() , Verwenden Sie stattdessen eine der folgenden Methoden:

    • durchschn.()
    • Min.()
    • max.()
    • Anzahl()
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    AggregateType Zeichenfolge Der Typ der auszuführenden Zusammenfassungsfunktion. Verfügbare Optionen:
    • Min : Gibt den kleinsten Wert aller übereinstimmenden Datensätze zurück.
    • max : Gibt den größten Wert aller übereinstimmenden Datensätze zurück.
    • Summe : Gibt die Summe aller übereinstimmenden Datensätze zurück.
    • durchschn : Gibt den Durchschnitt aller übereinstimmenden Datensätze zurück.
    • Anzahl : Gibt die Anzahl der übereinstimmenden Datensätze zurück.
    Feld Zeichenfolge Feld, für das der Vorgang ausgeführt werden soll.
    Tabelle : 4. Ausgabe
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.
    Diese(s) Das Skript führt eine Abfrage für die Aufgabentabelle durch, gruppiert die Datensätze nach Priorität und gibt jede Priorität zurück, deren Neuzuweisungen insgesamt größer als vier sind.
    var query = new global.GlideQuery('task')
        .where('active', true) //Returns new GlideQuery object with a "where" clause.
        .groupBy('priority') //Returns new GlideQuery object with a "group by" clause.
        .aggregate('sum', 'reassignment_count') //Returns new GlideQuery object with a "sum(reassignment_count)" clause.
        .having('sum', 'reassignment_count', '>', 4) //Returns new GlideQuery object with a "having reassignment_count > 4" clause.
        .select() //Returns a stream of records wrapped in a Stream object.  
        .forEach(function (priority){ //Terminal method in the Stream class that executes the query and returns the result. 
          gs.info("Priority " + priority.group.priority + ": " + priority.sum.reassignment_count + " reassignments");
        });
    Ausgabe:
    Priority 1: 11 reassignments
    Priority 3: 6 reassignments
    Priority 5: 5 reassignments

    GlideQuery – Durchschn.(Zeichenfolgenfeld)

    Gibt den aggregierten Durchschnitt eines bestimmten numerischen Felds zurück.

    Sie können diese Methode nur für Felder der folgenden Typen verwenden:
    • Ganzzahl
    • Lang
    • Gleitkommazahl
    • Doppelt
    • Währung
    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Feld Zeichenfolge Feld, für das der Vorgang ausgeführt werden soll.
    Tabelle : 6. Ausgabe
    Typ Beschreibung
    Optional Objekt, das den aggregierten Durchschnitt des angegebenen Felds enthält.

    Dieses Beispiel zeigt, wie die durchschnittliche Anzahl von Fehlern in der Tabelle „cmdb_ci“ zurückgegeben wird.

    var faults = new global.GlideQuery('cmdb_ci')
        .avg('fault_count')
        .orElse(0);
    
    gs.info(JSON.stringify(faults));

    Ausgabe:

    0.0037

    GlideQuery – count()

    Gibt die Anzahl der Datensätze zurück, die der Abfrage entsprechen.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    Anzahl Anzahl der Datensätze, die der Abfrage entsprechen.

    Dieses Beispiel gibt die Anzahl der aktiven Datensätze in der Anwendertabelle zurück.

    var userCount = new global.GlideQuery('sys_user')
        .where('active', true)
        .count();

    Ausgabe:

    612

    GlideQuery – deleteMultiple()

    Löscht alle Datensätze in der Tabelle, die von den vorherigen WHERE-Klauseln angegeben wurde.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    Keine

    In diesem Beispiel werden alle aktiven Datensätze in der Anwendertabelle gelöscht, bei denen der Nachname Jeter lautet.

    var query = new global.GlideQuery('sys_user')
        .where('active', true)
        .where('last_name', 'Jeter')
        .deleteMultiple();

    GlideQuery – disableAutoSysFields()

    Deaktiviert die Aktualisierung von Systemfeldern oder Feldern mit einem Namen, der mit beginnt sys Präfix, z. B. sys_created_on, sys_updated_on und sys_mod_count. Gilt nur für die angegebene Abfrage.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    In diesem Beispiel wird der Aufgabentabelle ein Datensatz hinzugefügt, es werden jedoch keine Systemfelder festgelegt. Ohne Aufruf dieser Methode würde das folgende Beispiel sys_updated_on, sys_mod_count usw. aktualisieren.

    var query = new global.GlideQuery('task')
        .disableAutoSysFields()
        .insert({ description: 'example', priority: 1 });

    GlideQuery – disableWorkflow()

    Deaktiviert alle Business-Regeln, Flows, Workflows oder Audit-Datensätze, die als Ergebnis der Abfrage ausgeführt oder erstellt werden.

    Hinweis:
    Diese Methode funktioniert nur für Tabellen im GLOBALEN Bereich.
    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel aktualisiert mehrere Datensätze in der Aufgabentabelle, ohne automatische Geschäftsprozesse auszulösen.

    var query = new global.GlideQuery('task')
        .disableWorkflow()
        .where('active', true)
        .updateMultiple({ priority: 1 });

    GlideQuery – forceUpdate()

    Erzwingt eine Datenbankaktualisierung, auch wenn keine Datensatzänderungen vorgenommen werden. Sie können diese Methode beispielsweise verwenden, um die Ausführung einer Business-Regel zu erzwingen.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    In diesem Beispiel wird die Aktualisierung von Aufgabendatensätzen mit einer bestimmten sys_ID erzwungen

    var forceUpdate = new global.GlideQuery('task')
        .forceUpdate()
        .where('sys_id', taskId)
        .update()

    GlideQuery – GET (Zeichenfolgenschlüssel, Array selectedFields)

    Gibt einen einzelnen Datensatz aus der Abfrage zurück.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    key Zeichenfolge SYS_ID des zurückzugebenden Datensatzes.
    selectedFields Array Optional. Zusätzliche Felder, die im Ergebnis zurückgegeben werden sollen.

    Standard: Das System gibt immer die sys_ID zurück

    Tabelle : 18. Rückgaben
    Typ Beschreibung
    Optional Objekt, das zur Interaktion mit einem einzelnen Datensatz verwendet wird.

    Beispiel, das einen Datensatz basierend auf sys_ID zurückgibt

    var user = new global.GlideQuery('sys_user')
        .get('5137153cc611227c000bbd1bd8cd2005', ['first_name', 'last_name']) //Returns an Optional object.
        .orElse({ first_name: 'Default', last_name: 'User' }); //Method in the Optional class to return a default value.
    
    gs.info(JSON.stringify(user, null, 2));

    Ausgabe:

    {
       "sys_id":"5137153cc611227c000bbd1bd8cd2005",
       "first_name":"Fred",
       "last_name":"Luddy"
    }

    GlideQuery – getBy(Object keyValues, Array selectedFields)

    Gibt ein optionales Objekt zurück, das einen einzelnen Datensatz basierend auf einer Reihe von Name-Wert-Paaren enthält, nach denen abgefragt werden soll. Nimmt den Operator „=“ für jedes Name-Wert-Paar an.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    KeyValues Objekt Objekt, bei dem die Schlüssel der Name der Felder und die Werte die Werte sind, nach denen abgefragt werden soll.
    selectedFields Array Optional. Zusätzliche Felder, die im Ergebnis zurückgegeben werden sollen.

    Standard: Das System gibt immer die sys_ID zurück

    Tabelle : 20. Rückgaben
    Typ Beschreibung
    Optional Objekt, das zur Interaktion mit einem einzelnen Datensatz verwendet wird.

    Beispiel, das einen Datensatz zurückgibt, indem nach dem Namen eines Anwenders abgefragt wird.

    var user = new global.GlideQuery('sys_user')
        .getBy({
            first_name: 'Fred',
            last_name: 'Luddy'
        }, ['first_name', 'last_name', 'city', 'active']) // select first_name, last_name, city, active
        .orElse({
            first_name: 'Nobody',
            last_name: 'Found',
            city: 'Nowhere',
            active: false
        });
    
    gs.info(JSON.stringify(user, null, 2));

    Ausgabe:

    {
       "first_name":"Fred",
       "last_name":"Luddy",
       "city":null,
       "active":true,
       "sys_id":"5137153cc611227c000bbd1bd8cd2005"
    }

    GlideQuery – groupBy(Zeichenfolgenfelder)

    Gruppiert die Abfrageergebnisse nach einem oder mehreren festgelegten Feldern.

    Sie müssen diese Methode mit verwenden Aggregat() Methode.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    Felder Zeichenfolge oder Array von Zeichenfolgen Feld oder Felder, nach denen die Ergebnisse gruppiert werden sollen.
    Tabelle : 22. Rückgaben
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.
    Diese(s) Das Skript führt eine Abfrage für die Aufgabentabelle durch, gruppiert die Datensätze nach Priorität und gibt jede Priorität zurück, deren Neuzuweisungen insgesamt größer als vier sind.
    var query = new global.GlideQuery('task')
        .where('active', true) //Returns new GlideQuery object with a "where" clause.
        .groupBy('priority') //Returns new GlideQuery object with a "group by" clause.
        .aggregate('sum', 'reassignment_count') //Returns new GlideQuery object with a "sum(reassignment_count)" clause.
        .having('sum', 'reassignment_count', '>', 4) //Returns new GlideQuery object with a "having reassignment_count > 4" clause.
        .select() //Returns a stream of records wrapped in a Stream object.  
        .forEach(function (priority){ //Terminal method in the Stream class that executes the query and returns the result. 
          gs.info("Priority " + priority.group.priority + ": " + priority.sum.reassignment_count + " reassignments");
        });
    Ausgabe:
    Priority 1: 11 reassignments
    Priority 3: 6 reassignments
    Priority 5: 5 reassignments

    GlideQuery – Having(String aggregateType, Zeichenfolgenfeld, Zeichenfolgenoperator, Zahlenwert)

    Filtert Aggregatgruppen, damit Sie nur Gruppen von Ergebnissen anzeigen können, die einer angegebenen Bedingung entsprechen.

    Diese Methode muss mit verwendet werden Aggregat() Oder Groupby() Methoden.

    Tabelle : 23. Parameter
    Name Typ Beschreibung
    AggregateType Zeichenfolge Der Typ der auszuführenden Zusammenfassungsfunktion. Verfügbare Optionen:
    • Min : Gibt den kleinsten Wert aller übereinstimmenden Datensätze zurück.
    • max : Gibt den größten Wert aller übereinstimmenden Datensätze zurück.
    • Summe : Gibt die Summe aller übereinstimmenden Datensätze zurück.
    • durchschn : Gibt den Durchschnitt aller übereinstimmenden Datensätze zurück.
    • Anzahl : Gibt die Anzahl der übereinstimmenden Datensätze zurück.
    Feld Zeichenfolge Feld, für das der Vorgang ausgeführt werden soll.
    operator Zeichenfolge Numerischer Operator, der im Vorgang verwendet werden soll.
    Verfügbare Optionen:
    • > : Größer als.
    • < : Weniger als.
    • >= : Größer als oder gleich.
    • <= : Kleiner als oder gleich.
    • = : Gleich.
    • != : Ungleich.
    Wert Anzahl Zahlenwert, der im Vorgang verwendet werden soll.
    Tabelle : 24. Rückgaben
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.
    Diese(s) Das Skript führt eine Abfrage für die Aufgabentabelle durch, gruppiert die Datensätze nach Priorität und gibt jede Priorität zurück, deren Neuzuweisungen insgesamt größer als vier sind.
    var query = new global.GlideQuery('task')
        .where('active', true) //Returns new GlideQuery object with a "where" clause.
        .groupBy('priority') //Returns new GlideQuery object with a "group by" clause.
        .aggregate('sum', 'reassignment_count') //Returns new GlideQuery object with a "sum(reassignment_count)" clause.
        .having('sum', 'reassignment_count', '>', 4) //Returns new GlideQuery object with a "having reassignment_count > 4" clause.
        .select() //Returns a stream of records wrapped in a Stream object.  
        .forEach(function (priority){ //Terminal method in the Stream class that executes the query and returns the result. 
          gs.info("Priority " + priority.group.priority + ": " + priority.sum.reassignment_count + " reassignments");
        });
    Ausgabe:
    Priority 1: 11 reassignments
    Priority 3: 6 reassignments
    Priority 5: 5 reassignments

    GlideQuery – INSERT(Object keyValues, Object selectedFields)

    Fügt einen Datensatz ein und gibt ein optionales Objekt zurück, das den Datensatz enthält.

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    KeyValues Objekt Objekt mit Name-Wert-Paaren, die in den Datensatz eingefügt werden sollen. Nicht angegebene Felder sind null.
    selectedFields Array Optional. Zusätzliche Felder, die im Ergebnis zurückgegeben werden sollen.

    Standard: Das System gibt immer die sys_ID zurück

    Tabelle : 26. Rückgaben
    Typ Beschreibung
    Optional Objekt, das zur Interaktion mit einem einzelnen Datensatz verwendet wird.

    Dieses Beispiel zeigt, wie ein Datensatz basierend auf dem vor- und Nachnamen eines Anwenders eingefügt wird.

    var fred = new global.GlideQuery('sys_user')
        .insert({ first_name: 'Fred', last_name: 'Luddy' })
        .get();
    
    gs.info(JSON.stringify(fred, null, 2));

    Ausgabe:

    {
       "sys_id":"cf16eed0e82a9010f8778bda83d255d2",
       "first_name":"Fred",
       "last_name":"Luddy"
    }

    GlideQuery – insertOrUpdate(Object Changes, Object selectedFields)

    Aktualisiert einen vorhandenen Datensatz oder fügt einen neuen Datensatz ein, wenn noch keiner vorhanden ist.

    Tabelle : 27. Parameter
    Name Typ Beschreibung
    Changes Objekt Objekt mit Name-Wert-Paaren, die aktualisiert oder in den Datensatz eingefügt werden sollen.
    selectedFields Array Optional. Zusätzliche Felder, die im Ergebnis zurückgegeben werden sollen.

    Standard: Das System gibt immer die sys_ID zurück

    Tabelle : 28. Rückgaben
    Typ Beschreibung
    Optional Objekt, das zur Interaktion mit einem einzelnen Datensatz verwendet wird.

    Dieses Beispiel zeigt, wie ein neuer Datensatz eingefügt wird, der noch nicht im System vorhanden ist.

    // insert a new record
    var user = new GlideQuery('sys_user')
        .insertOrUpdate({
            first_name: 'George',
            last_name: 'Griffey'
        })
        .orElse(null);

    Dieses Beispiel zeigt, wie ein vorhandener Datensatz aktualisiert wird.

    // update existing record
    var user = new global.GlideQuery('sys_user')
        .insertOrUpdate({
            sys_id: '2d0efd6c73662300bb513198caf6a72e',
            first_name: 'George',
            last_name: 'Griffey' })
        .orElse(null);

    GlideQuery – Limit(Nummernlimit)

    Begrenzt die Anzahl der in einer Abfrage zurückgegebenen Datensätze.

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    limit Anzahl Anzahl der zurückzugebenden Datensätze.
    Tabelle : 30. Rückgaben
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie die zurückgegebenen Ergebnisse auf fünf Datensätze begrenzt werden.

    var incidents = new global.GlideQuery('incident')
        .limit(5)
        .select('priority', 'description')
        .forEach(function (incident){
            gs.info(JSON.stringify(incident, null, 2));
        });

    Ausgabe:

    *** Script: {
      "priority": 1,
      "description": "User can't get to any of his files on the file server.",
      "sys_id": "9d385017c611228701d22104cc95c371"
    }
    *** Script: {
      "priority": 1,
      "description": "I just moved from floor 2 to floor 3 and my laptop cannot connect to any wireless network.",
      "sys_id": "e8caedcbc0a80164017df472f39eaed1"
    }
    *** Script: {
      "priority": 1,
      "description": "User forgot their email password.",
      "sys_id": "9d3c1197c611228701cd1d94bc32d76d"
    }
    *** Script: {
      "priority": 1,
      "description": "When I try to print, my whole computer just freezes and stops working.",
      "sys_id": "8d6246c7c0a80164012fb063cecd4ace"
    }
    *** Script: {
      "priority": 3,
      "description": "Unable to login even though login credentials are correct.",
      "sys_id": "a9e30c7dc61122760116894de7bcc7bd"
    }

    GlideQuery – max(Zeichenfolgenfeld)

    Gibt das Aggregatmaximum eines bestimmten Felds zurück.

    Tabelle : 31. Parameter
    Name Typ Beschreibung
    Feld Zeichenfolge Feld, für das der Vorgang ausgeführt werden soll.
    Tabelle : 32. Ausgabe
    Typ Beschreibung
    Optional Objekt, das zur Interaktion mit einem einzelnen Datensatz verwendet wird.

    Dieses Beispiel zeigt, wie der Höchstwert oder der höchste alphanumerische Wert eines bestimmten Felds zurückgegeben wird.

    var name = new global.GlideQuery('sys_user')
        .max('last_name')
        .orElse('');
    
    gs.info(JSON.stringify(name));

    Ausgabe:

    "Zortman"

    GlideQuery – min(Zeichenfolgenfeld)

    Gibt das aggregierte Minimum eines bestimmten Felds zurück.

    Tabelle : 33. Parameter
    Name Typ Beschreibung
    Feld Zeichenfolge Feld, für das der Vorgang ausgeführt werden soll.
    Tabelle : 34. Ausgabe
    Typ Beschreibung
    Optional Objekt, das zur Interaktion mit einem einzelnen Datensatz verwendet wird.

    Dieses Beispiel zeigt, wie der Mindestwert oder der niedrigste alphanumerische Wert eines bestimmten Felds zurückgegeben wird.

    var name = new global.GlideQuery('sys_user')
        .min('last_name')
        .orElse('');
    
    gs.info(JSON.stringify(name));

    Ausgabe:

    "Abel"

    GlideQuery – orderBy(Zeichenfolgenfelder)

    Ordnet das zurückgegebene Ergebnis in aufsteigender Reihenfolge nach einem bestimmten Feld an.

    Tabelle : 35. Parameter
    Name Typ Beschreibung
    Felder Zeichenfolge Kommagetrennte Felder, nach denen das Ergebnis in aufsteigender Reihenfolge sortiert werden soll.
    Tabelle : 36. Rückgaben
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie Ergebnisse in aufsteigender Reihenfolge nach Datensatznummer angeordnet werden.

    var query = new global.GlideQuery('incident')
        .orderBy('number')
        .limit(5)
        .select('number', 'description') //Returns a stream of records wrapped in a Stream object.  
        .forEach(function (incident){ //Terminal method in the Stream class that executes the query and returns the result.
            gs.info(JSON.stringify(incident, null, 2));
        });

    Ausgabe:

    *** Script: {
      "number": "INC0000001",
      "description": "User can't access email on mail.company.com.",
      "sys_id": "9c573169c611228700193229fff72400"
    }
    *** Script: {
      "number": "INC0000002",
      "description": "User can't get to any of his files on the file server.",
      "sys_id": "9d385017c611228701d22104cc95c371"
    }
    *** Script: {
      "number": "INC0000003",
      "description": "I just moved from floor 2 to floor 3 and my laptop cannot connect to any wireless network.",
      "sys_id": "e8caedcbc0a80164017df472f39eaed1"
    }
    *** Script: {
      "number": "INC0000004",
      "description": "User forgot their email password.",
      "sys_id": "9d3c1197c611228701cd1d94bc32d76d"
    }
    *** Script: {
      "number": "INC0000005",
      "description": "CPU was 100% busy for more than 10 minutes",
      "sys_id": "e8e875b0c0a80164009dc852b4d677d5"
    }

    GlideQuery – orderByDesc(String fieldOrAggregate, Zeichenfolgenfeld)

    Ordnet das zurückgegebene Ergebnis in absteigender Reihenfolge nach einem bestimmten Feld an.

    Tabelle : 37. Parameter
    Name Typ Beschreibung
    FieldOrAggregat Zeichenfolge Wenn die Abfrage nicht verwendet Aggregat() Methode übergeben Sie das Feld, nach dem die Ergebnisse sortiert werden sollen.

    Wenn die Abfrage verwendet Aggregat() Methode: Übergeben Sie den Typ der auszuführenden Zusammenfassungsfunktion.

    Verfügbare Optionen:
    • Min : Gibt den kleinsten Wert aller übereinstimmenden Datensätze zurück.
    • max : Gibt den größten Wert aller übereinstimmenden Datensätze zurück.
    • Summe : Gibt die Summe aller übereinstimmenden Datensätze zurück.
    • durchschn : Gibt den Durchschnitt aller übereinstimmenden Datensätze zurück.
    • Anzahl : Gibt die Anzahl der übereinstimmenden Datensätze zurück.
    Feld Zeichenfolge Optional. Feld, nach dem das Ergebnis in absteigender Reihenfolge sortiert werden soll. Erforderlich für Abfragen mit Aggregat() Methode.
    Tabelle : 38. Rückgaben
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie das Ergebnis in absteigender Reihenfolge nach Nummer sortiert wird.

    var query = new global.GlideQuery('incident')
        .orderByDesc('number')
        .limit(5)
        .select('number', 'description') //Returns a stream of records wrapped in a Stream object.  
        .forEach(function (incident){ //Terminal method in the Stream class that executes the query and returns the result.
            gs.info(JSON.stringify(incident, null, 2));
        });

    Ausgabe:

    *** Script: {
      "number": "INC0009009",
      "description": "Unable to access the shared folder. Please provide access.",
      "sys_id": "57af7aec73d423002728660c4cf6a71c"
    }
    *** Script: {
      "number": "INC0009005",
      "description": "Unable to send or receive emails.",
      "sys_id": "ed92e8d173d023002728660c4cf6a7bc"
    }
    *** Script: {
      "number": "INC0009004",
      "description": "While launching the defect tracking base URL, it is redirecting to an error page.",
      "sys_id": "e329de99731423002728660c4cf6a73c"
    }
    *** Script: {
      "number": "INC0009003",
      "description": "Having an issue with users trying to access the company portal app",
      "sys_id": "9fffc328731823002728660c4cf6a742"
    }
    *** Script: {
      "number": "INC0009002",
      "description": "My computer is not detecting the headphone device. It could be an issue with the USB port.",
      "sys_id": "1c832706732023002728660c4cf6a7b9"
    }

    Dieses Beispiel zeigt, wie ein aggregiertes Ergebnis nach der Summe der untergeordneten Incidents sortiert wird.

    var aggQuery = new GlideQuery('incident')
        .aggregate('sum', 'child_incidents')
        .groupBy('category')
        .orderByDesc('sum', 'child_incidents')
        .select()
        .forEach(function (category){
            gs.info(JSON.stringify(category, null, 2));    
        });

    Ausgabe:

    *** Script: {
      "group": {
        "category": "hardware"
      },
      "sum": {
        "child_incidents": 2
      }
    }
    *** Script: {
      "group": {
        "category": "inquiry"
      },
      "sum": {
        "child_incidents": 1
      }
    }
    *** Script: {
      "group": {
        "category": "software"
      },
      "sum": {
        "child_incidents": 0
      }
    }
    *** Script: {
      "group": {
        "category": ""
      },
      "sum": {
        "child_incidents": null
      }
    }
    *** Script: {
      "group": {
        "category": "database"
      },
      "sum": {
        "child_incidents": null
      }
    }
    *** Script: {
      "group": {
        "category": "network"
      },
      "sum": {
        "child_incidents": null
      }
    }

    GlideQuery – orWhere(String fieldOrQuery, Zeichenfolgenoperator, beliebiger Wert)

    Fügt einer Abfrage eine ODER-Klausel hinzu, die Werte basierend auf einer bestimmten Bedingung zurückgibt.

    Hinweis:
    Gehen Sie dieser Methode mit voran Wobei() , Where Null() , Oder Where-Not-Null() Methoden.
    Tabelle : 39. Parameter
    Name Typ Beschreibung
    FieldOrQuery Zeichenfolge oder GlideQuery Feld oder ein anderes GlideQuery-Objekt, das in der WHERE-Klausel verwendet wird. Wenn Sie ein Feld übergeben, können Sie DOT-Walk zu einem gewünschten Wert durchführen. Beispiel: „company.name“ .
    operator Zeichenfolge Optional. Operator, der in der ODER-Klausel verwendet wird. Wenn Sie kein Argument übergeben, verwendet das System den Operator =. Sie müssen keinen Platzhalterwert einschließen.
    Wert Beliebig In der ODER-Klausel verwendeter Wert.
    Tabelle : 40. Rückgaben
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie einer Abfrage eine einfache ODER-Klausel hinzugefügt wird.

    var query = new global.GlideQuery('sys_user')
       .where('failed_attempts', '>', 0)
       .orWhere('last_login', '<', '2019-04-15')
       .select()
       .forEach(function (user){
          gs.info(JSON.stringify(user, null, 2));
       });

    Ausgabe:

    *** Script: {
      "sys_id": "005d500b536073005e0addeeff7b12f4"
    }
    *** Script: {
      "sys_id": "d999e5fc77e72300454792718a10611d"
    }
    *** Script: {
      "sys_id": "30ad318577ab2300454792718a10619e"
    }
    *** Script: {
      "sys_id": "4ac73ecd738123002728660c4cf6a72c"
    }
    *** Script: {
      "sys_id": "3883f4c0730123002728660c4cf6a754"
    }
    *** Script: {
      "sys_id": "3988a3ca732023002728660c4cf6a757"
    }
    *** Script: {
      "sys_id": "8ff5b254b33213005e3de13516a8dcf7"
    }

    Dieses Beispiel zeigt, wie Sie eine hinzufügen OrWhere Klausel, die eine separate Abfrage enthält.

    // active = true OR (title = 'Vice President' AND state = 'CA')
    var query = new GlideQuery('sys_user')
       .where('active', true)
       .orWhere(new GlideQuery()
           .where('title', 'Vice President')
           .where('state', 'CA'))
       .select('name')
       .limit(5)
       .forEach(function (user){
          gs.info(JSON.stringify(user, null, 2));
       });

    Ausgabe:

    *** Script: {
      "name": "ITIL User",
      "sys_id": "681b365ec0a80164000fb0b05854a0cd"
    }
    *** Script: {
      "name": "SOAP Guest",
      "sys_id": "155699460a0a0b2b009e27c10b7f68f6"
    }
    *** Script: {
      "name": "System Administrator",
      "sys_id": "6816f79cc0a8016401c5a33be04be441"
    }
    *** Script: {
      "name": "Alva Pennigton",
      "sys_id": "ca826bf03710200044e0bfc8bcbe5d89"
    }
    *** Script: {
      "name": "Benchmark Scheduler",
      "sys_id": "d3383a875b0132003d1c484c11f91a5b"
    }

    GlideQuery – orWhereNotNull(Zeichenfolgenfeld)

    Fügt eine ODER-Klausel hinzu, die Datensätze zurückgibt, die keinen Nullwert in einem bestimmten Feld enthalten.

    Hinweis:
    Gehen Sie dieser Methode mit voran Wobei() , Where Null() , Oder Where-Not-Null() Methoden.
    Tabelle : 41. Parameter
    Name Typ Beschreibung
    Feld Zeichenfolge In der Abfrage verwendetes Feld.
    Tabelle : 42. Ausgabe
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie die Anwendertabelle abgefragt und Ergebnisse zurückgegeben werden, bei denen der vor- oder Nachname nicht null ist.

    var query = new global.GlideQuery('sys_user')
       .whereNotNull('first_name')
       .orWhereNotNull('last_name')
       .select('name')
       .limit(5)
       .forEach(function (user){
          gs.info(JSON.stringify(user, null, 2));
       });

    Ausgabe:

    *** Script: {
      "name": "ITIL User",
      "sys_id": "681b365ec0a80164000fb0b05854a0cd"
    }
    *** Script: {
      "name": "System Administrator",
      "sys_id": "6816f79cc0a8016401c5a33be04be441"
    }
    *** Script: {
      "name": "Alva Pennigton",
      "sys_id": "ca826bf03710200044e0bfc8bcbe5d89"
    }
    *** Script: {
      "name": "Benchmark Scheduler",
      "sys_id": "d3383a875b0132003d1c484c11f91a5b"
    }
    *** Script: {
      "name": "Allyson Gillispie",
      "sys_id": "06826bf03710200044e0bfc8bcbe5d8a"
    }

    GlideQuery – orWhereNull(Zeichenfolgenfeld)

    Fügt einer Abfrage eine ODER-Klausel hinzu, die Datensätze zurückgibt, die einen Nullwert in einem bestimmten Feld enthalten.

    Hinweis:
    Gehen Sie dieser Methode mit voran Wobei() , Where Null() , Oder Where-Not-Null() Methoden.
    Tabelle : 43. Parameter
    Name Typ Beschreibung
    Feld Zeichenfolge In der Abfrage verwendetes Feld.
    Tabelle : 44. Ausgabe
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie die Anwendertabelle abgefragt und Datensätze zurückgegeben werden, bei denen der vor- oder Nachname null ist.

    var query = new global.GlideQuery('sys_user')
       .whereNull('last_name')
       .orWhereNull('first_name')
       .select('first_name', 'last_name')
       .forEach(function (user){
          gs.info(JSON.stringify(user, null, 2));
       });

    Ausgabe:

    *** Script: {
      "first_name": "ml.admin",
      "last_name": null,
      "sys_id": "88aad6c5c73003005f1b78d48b9763a5"
    }
    *** Script: {
      "first_name": "Sitemap Scheduler User",
      "last_name": null,
      "sys_id": "85388c25b71011104eed4643ae11a993"
    }
    *** Script: {
      "first_name": null,
      "last_name": "Guest",
      "sys_id": "5136503cc611227c0183e96598c4f706"
    }
    *** Script: {
      "first_name": "ml_report.user",
      "last_name": null,
      "sys_id": "b6bad6c5c73003005f1b78d48b97632a"
    }

    GlideQuery – Parse(Zeichenfolgentabelle, Zeichenfolge encoded_query )

    Fügt einer neuen eine codierte Abfrage hinzu GlideQuery Abfrage.

    Diese Methode unterstützt nicht alle GlideRecord Codierte Abfrageoperatoren. Die folgenden Operatoren werden derzeit unterstützt:

    = ALLES GT_FIELD NICHT IN
    != ZWISCHEN GT_OR_EQUALS_FIELD NICHT WIE
    > ENTHÄLT IN NSAMEAS
    >= ENTHÄLT NICHT INSTANCEOF EIN
    < DYNAMISCH GEFÄLLT MIR SAMEAS
    <= EMPTYSTRING LT_FIELD STARTSWITH
    ENDSWITH LT_OR_EQUALS_FIELD
    Tabelle : 45. Parameter
    Name Typ Beschreibung
    table Zeichenfolge Abzufragende Tabelle, z. B. Aufgabe oder Incident.
    encoded_query Zeichenfolge Codierte Abfrage Zum Anwenden auf die Datensätze in der angegebenen Tabelle.
    Tabelle : 46. Rückgaben
    Typ Beschreibung
    GlideQuery GlideQuery-Objekt, das die codierte Abfrage enthält.

    Im folgenden Beispiel wird ein GlideQuery-Objekt erstellt, das alle aktiven Datensätze in der Aufgabentabelle enthält, sortiert nach dem Prioritätsfeld, das als Stream-Objekt zurückgegeben wird, das nur das Beschreibungsfeld enthält.

    GlideQuery.parse('task', 'active=true^ORDERBYpriority') // Pass the encoded query to use to parse the Task records
      .select('description') // Return the records that match the encoded query
      .forEach(doSomething); // Do some processing on each of the returned records

    GlideQuery – SELECT(Zeichenfolgenfelder)

    Gibt die Ergebnisse der Abfrage als Stream-Objekt zurück, das die angegebenen Felder enthält.

    Hinweis:
    Verwenden Sie eine Terminalmethode in Stream Klasse zum Abrufen des Ergebnisses der Abfrage. Weitere Informationen finden Sie unter Stream .

    Sie können eine Kennzeichnung an einen Feldnamen anhängen, um die Metadaten des Felds anstelle des Felds zurückzugeben. Beispiel: Mithilfe des Feldnamens Unternehmens$ANZEIGE Gibt den Anzeigewert eines Unternehmensfelds zurück. Mögliche Kennzeichnungen sind:

    • ANZEIGE : Gibt den Anzeigewert eines Felds zurück.
    • CURRENCY_CODE : Gibt den Währungscode eines Währungsfelds zurück. Beispiel: USD .
    • CURRENCY_DISPLAY : Gibt den Währungsanzeigewert eines Währungsfelds zurück. Beispiel: ¥ 123,45 .
    • CURRENCY_ZEICHENFOLGE : Gibt die Währungszeichenfolge eines Währungsfelds zurück. Beispiel: JPY;123,45 .
    Tabelle : 47. Parameter
    Name Typ Beschreibung
    Felder Zeichenfolge oder Array von Zeichenfolgen Optional. Felder, die im Ergebnis angezeigt werden sollen. Sie können eine beliebige Anzahl von Feldern als Argumente angeben, Dot-Walk zu einem gewünschten Wert durchführen oder eine Kennzeichnung verwenden. Zum Beispiel:
    select('first_name', 'location.city', 'company$DISPLAY');
    oder
    select(['first_name', 'location.city', 'company$DISPLAY']);

    Standard: Das System gibt immer die sys_ID zurück

    Tabelle : 48. Ausgabe
    Typ Beschreibung
    Stream Objekt, das zur Interaktion mit einem Stream von Elementen wie Datensätzen verwendet wird.

    Dieses Beispiel zeigt, wie Felder ausgewählt werden, die in der Abfrage angezeigt und verwendet werden sollen $ANZEIGE Um den Anzeigewert eines Felds zurückzugeben.

    var stream = new global.GlideQuery('sys_user')
       .select('first_name', 'last_name', 'company$DISPLAY')
       .limit(5)
       .forEach(function (user){
          gs.info(JSON.stringify(user, null, 2));
       });

    Ausgabe:

    *** Script: {
      "first_name": "System",
      "last_name": "Administrator",
      "company$DISPLAY": "",
      "sys_id": "6816f79cc0a8016401c5a33be04be441"
    }
    *** Script: {
      "first_name": "Alva",
      "last_name": "Pennigton",
      "company$DISPLAY": "ACME North America",
      "sys_id": "ca826bf03710200044e0bfc8bcbe5d89"
    }
    *** Script: {
      "first_name": "Benchmark",
      "last_name": "Scheduler",
      "company$DISPLAY": "",
      "sys_id": "d3383a875b0132003d1c484c11f91a5b"
    }
    *** Script: {
      "first_name": "Allyson",
      "last_name": "Gillispie",
      "company$DISPLAY": "ACME North America",
      "sys_id": "06826bf03710200044e0bfc8bcbe5d8a"
    }
    *** Script: {
      "first_name": "SOAP",
      "last_name": "Guest",
      "company$DISPLAY": "",
      "sys_id": "155699460a0a0b2b009e27c10b7f68f6"
    }

    GlideQuery – selectOne(Zeichenfolgenfelder)

    Gibt das Ergebnis der Abfrage als optionales Objekt zurück, das die angegebenen Felder enthält.

    Verwenden Sie diese Methode, wenn Sie einen einzelnen Datensatz zurückgeben oder testen, ob ein Datensatz vorhanden ist. Wenn Sie mehrere Datensätze zurückgeben, verwenden Sie Auswählen () Methode zum Rückgeben eines Stream-Objekts.

    Sie können eine Kennzeichnung an einen Feldnamen anhängen, um die Metadaten des Felds anstelle des Felds zurückzugeben. Beispiel: Mithilfe des Feldnamens Unternehmens$ANZEIGE Gibt den Anzeigewert eines Unternehmensfelds zurück. Mögliche Kennzeichnungen sind:

    • ANZEIGE : Gibt den Anzeigewert eines Felds zurück.
    • CURRENCY_CODE : Gibt den Währungscode eines Währungsfelds zurück. Beispiel: USD .
    • CURRENCY_DISPLAY : Gibt den Währungsanzeigewert eines Währungsfelds zurück. Beispiel: ¥ 123,45 .
    • CURRENCY_ZEICHENFOLGE : Gibt die Währungszeichenfolge eines Währungsfelds zurück. Beispiel: JPY;123,45 .
    Tabelle : 49. Parameter
    Name Typ Beschreibung
    Felder Zeichenfolge oder Array von Zeichenfolgen Optional. Felder, die im Ergebnis angezeigt werden sollen. Sie können eine beliebige Anzahl von Feldern als Argumente angeben, Dot-Walk zu einem gewünschten Wert durchführen oder eine Kennzeichnung verwenden. Zum Beispiel:
    selectOne('first_name', 'location.city', 'company$DISPLAY');
    oder
    selectOne(['first_name', 'location.city', 'company$DISPLAY']);

    Standard: Das System gibt immer die sys_ID zurück

    Tabelle : 50. Rückgaben
    Typ Beschreibung
    Optional Objekt, das zur Interaktion mit einem einzelnen Datensatz verwendet wird.

    Dieses Beispiel zeigt, wie ein einzelner Datensatz als optionales Objekt zurückgegeben und angegebene Felder angezeigt werden.

    var user = new global.GlideQuery('sys_user')
        .where('zip', '12345')
        .whereNotNull('last_name')
        .selectOne('first_name', 'last_name', 'company$DISPLAY')
        .get();
    
    gs.info(JSON.stringify(user, null, 2));

    Ausgabe:

    {
       "first_name":"Abel",
       "last_name":"Tuter",
       "company$DISPLAY":"ACME South America",
       "sys_id":"62826bf03710200044e0bfc8bcbe5df1"
    }

    GlideQuery – sum(Zeichenfolgenfeld)

    Gibt die aggregierte Summe eines bestimmten numerischen Felds zurück.

    Sie können diese Methode nur für Felder der folgenden Typen verwenden:
    • Ganzzahl
    • Lang
    • Gleitkommazahl
    • Doppelt
    • Währung
    Tabelle : 51. Parameter
    Name Typ Beschreibung
    Feld Zeichenfolge Feld, für das der Vorgang ausgeführt werden soll.
    Tabelle : 52. Ausgabe
    Typ Beschreibung
    Optional Objekt, das zur Interaktion mit einem einzelnen Datensatz verwendet wird.

    Dieses Beispiel zeigt, wie die Summe aller Fehler in der Tabelle „cmdb_ci“ zurückgegeben wird.

    var totalFaults = new global.GlideQuery('cmdb_ci')
        .sum('fault_count')
        .orElse(0);
    
    gs.info(JSON.stringify(totalFaults));

    Ausgabe:

    10

    GlideQuery – toGlideRecord()

    Gibt ein GlideRecord-Objekt zurück, das die aktuelle Abfrage darstellt. Gibt ein GlideAggregrate-Objekt zurück, wenn die Abfrage verwendet GlideQuery.Aggregat() Methode.

    Verwenden Sie nach dem Transformieren der Abfrage die Abfrage () Methode in GlideRecord Oder GlideAggregat Klassen zum Abfragen der Datenbank.

    Tabelle : 53. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 54. Ergebnisse
    Typ Beschreibung
    GlideRecord oder GlideAggregate GlideRecord-Objekt, das die Abfrage enthält. Wenn Sie verwendet haben GlideQuery.Aggregat() Methode, gibt die Methode stattdessen ein GlideAggregrate-Objekt zurück.

    Dieses Beispiel zeigt, wie ein GlideQuery-Objekt in einen GlideRecord umgewandelt wird.

    var userGr = new global.GlideQuery('sys_user')
        .where('active', true)
        .whereNotNull('first_name')
        .limit(10)
        .toGlideRecord();
    userGr.query();

    GlideQuery – Update(Objektänderungen, Objekt selectedFields)

    Aktualisiert einen vorhandenen Datensatz, der den definierten Bedingungen entspricht.

    Rufen Sie vor der Verwendung dieser Methode auf Wobei() Methode zum Angeben der Bedingungen, die ein Datensatz erfüllen muss, um aktualisiert zu werden.

    Tabelle : 55. Parameter
    Name Typ Beschreibung
    Changes Objekt Objekt mit Name-Wert-Paaren, die im Datensatz aktualisiert werden sollen. Namen müssen mit Feldern in der Tabelle übereinstimmen.
    selectedFields Array Optional. Zusätzliche Felder, die im Ergebnis zurückgegeben werden sollen.

    Standard: Das System gibt immer die sys_ID zurück

    Tabelle : 56. Ausgabe
    Typ Beschreibung
    Optional Objekt, das zur Interaktion mit einem einzelnen Datensatz verwendet wird.

    Dieses Beispiel zeigt, wie ein Datensatz mit neuen Werten aktualisiert wird.

    var updateRecord = new global.GlideQuery('sys_user')
        .where('sys_id', '0a826bf03710200044e0bfc8bcbe5d7a')
        .update({ city: 'Los Angeles' });

    GlideQuery – updateMultiple (Objektänderungen)

    Aktualisiert alle vorhandenen Datensätze, die den definierten Bedingungen entsprechen. Gibt die Anzahl der aktualisierten Datensätze zurück.

    Rufen Sie vor der Verwendung dieser Methode auf Wobei() Methode zum Angeben der Bedingungen, die die Datensätze erfüllen müssen, um aktualisiert zu werden.

    Tabelle : 57. Parameter
    Name Typ Beschreibung
    Changes Objekt Objekt mit Name-Wert-Paaren, die im Datensatz aktualisiert werden sollen. Namen müssen mit Feldern in der Tabelle übereinstimmen.
    Tabelle : 58. Ausgabe
    Typ Beschreibung
    Objekt Objekt, das die Anzahl der Datensätze enthält, die aktualisiert wurden. Schlüssel:
    • ROWCOUNT : Anzahl der in der Tabelle aktualisierten Zeilen.

    Dieses Beispiel zeigt, wie Datensätze aktualisiert werden, die einem definierten Kriterium entsprechen.

    var update = new global.GlideQuery('sys_user')
        .where('active', false)
        .where('last_name', 'Griffey')
        .updateMultiple({ active: true });
    
    gs.info(JSON.stringify(update));

    Ausgabe:

    {"rowCount":1}

    GlideQuery – WHERE(String fieldOrQuery, Zeichenfolgenoperator, beliebiger Wert)

    Fügt der Abfrage eine WHERE-Klausel hinzu, die Werte basierend auf einer bestimmten Bedingung zurückgibt.

    Hinweis:
    Gehen Sie dieser Methode nicht mit voraus OrWhere() , OrWhereNull() , Oder OrWhereNotNull() Methoden.
    Tabelle : 59. Parameter
    Name Typ Beschreibung
    FieldOrQuery Zeichenfolge oder GlideQuery Feld oder ein anderes GlideQuery-Objekt, das in der WHERE-Klausel verwendet wird. Wenn Sie ein Feld übergeben, können Sie DOT-Walk zu einem gewünschten Wert durchführen. Beispiel: „company.name“ .
    operator Zeichenfolge Optional. In der WHERE-Klausel verwendeter Operator. Wenn Sie kein Argument übergeben, verwendet das System den Operator =.
    Wert Beliebig In der WHERE-Klausel verwendeter Wert.
    Tabelle : 60. Rückgaben
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie Datensätze aus der Anwendertabelle zurückgegeben werden, bei der „aktiv“ auf „wahr“ und die letzte Anmeldung des Anwenders nach einem angegebenen Datum liegt.

    var query = new global.GlideQuery('sys_user')
       .where('active', true)
       .where('last_login', '>', '2018-01-01')
       .limit(5)
       .select()
       .forEach(function (user){
          gs.info(JSON.stringify(user, null, 2));
       });

    Ausgabe:

    *** Script: {
      "sys_id": "6816f79cc0a8016401c5a33be04be441"
    }
    *** Script: {
      "sys_id": "005d500b536073005e0addeeff7b12f4"
    }
    *** Script: {
      "sys_id": "d999e5fc77e72300454792718a10611d"
    }
    *** Script: {
      "sys_id": "30ad318577ab2300454792718a10619e"
    }
    *** Script: {
      "sys_id": "3883f4c0730123002728660c4cf6a754"
    }

    Dieses Beispiel zeigt, wie Datensätze aus der Incident-Tabelle zurückgegeben werden, wobei „aktiv“ auf „wahr“ und die Priorität oder der Schweregrad „1“ festgelegt ist.

    // active = true AND (priority = 1 OR severity = 1)
    var query = new GlideQuery('incident')
        .where('active', true)
        .where(new GlideQuery()
            .where('priority', 1)
            .orWhere('severity', 1))
       .limit(5)
       .select()
       .toArray(5)
    
    gs.info(JSON.stringify(query, null, 2));

    Ausgabe:

    [
       {
          "sys_id":"b0f31e5673500010c2e7660c4cf6a711"
       },
       {
          "sys_id":"8ff5b254b33213005e3de13516a8dcf7"
       },
       {
          "sys_id":"d999e5fc77e72300454792718a10611d"
       },
       {
          "sys_id":"30ad318577ab2300454792718a10619e"
       },
       {
          "sys_id":"3883f4c0730123002728660c4cf6a754"
       }
    ]

    GlideQuery – where NotNull(Zeichenfolgenfeld)

    Gibt Datensätze zurück, die keinen Nullwert in einem bestimmten Feld enthalten.

    Hinweis:
    Gehen Sie dieser Methode nicht mit voraus OrWhere() , OrWhereNull() , Oder OrWhereNotNull() Methoden.
    Tabelle : 61. Parameter
    Name Typ Beschreibung
    Feld Zeichenfolge In der Abfrage verwendetes Feld.
    Tabelle : 62. Ausgabe
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie die Anwendertabelle abgefragt und Ergebnisse zurückgegeben werden, bei denen das Feld „first_Name“ nicht null ist.

    var query = new global.GlideQuery('sys_user')
       .whereNotNull('first_name')
       .select('name')
       .limit(5)
       .forEach(function (user){
          gs.info(JSON.stringify(user, null, 2));
       });

    Ausgabe:

    *** Script: {
      "name": "System Administrator",
      "sys_id": "6816f79cc0a8016401c5a33be04be441"
    }
    *** Script: {
      "name": "Alva Pennigton",
      "sys_id": "ca826bf03710200044e0bfc8bcbe5d89"
    }
    *** Script: {
      "name": "Benchmark Scheduler",
      "sys_id": "d3383a875b0132003d1c484c11f91a5b"
    }
    *** Script: {
      "name": "Allyson Gillispie",
      "sys_id": "06826bf03710200044e0bfc8bcbe5d8a"
    }
    *** Script: {
      "name": "SOAP Guest",
      "sys_id": "155699460a0a0b2b009e27c10b7f68f6"
    }

    GlideQuery – where Null(Zeichenfolgenfeld)

    Gibt Datensätze zurück, die einen Nullwert in einem bestimmten Feld enthalten.

    Hinweis:
    Gehen Sie dieser Methode nicht mit voraus OrWhere() , OrWhereNull() , Oder OrWhereNotNull() Methoden.
    Tabelle : 63. Parameter
    Name Typ Beschreibung
    Feld Zeichenfolge In der Abfrage verwendetes Feld.
    Tabelle : 64. Ausgabe
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie die Anwendertabelle abgefragt und Datensätze zurückgegeben werden, bei denen der vor- oder Nachname null ist.

    var query = new global.GlideQuery('sys_user')
       .whereNull('last_name')
       .orWhereNull('first_name')
       .select('first_name', 'last_name')
       .forEach(function (user){
          gs.info(JSON.stringify(user, null, 2));
       });

    Ausgabe:

    *** Script: {
      "first_name": "ml.admin",
      "last_name": null,
      "sys_id": "88aad6c5c73003005f1b78d48b9763a5"
    }
    *** Script: {
      "first_name": "Sitemap Scheduler User",
      "last_name": null,
      "sys_id": "85388c25b71011104eed4643ae11a993"
    }
    *** Script: {
      "first_name": null,
      "last_name": "Guest",
      "sys_id": "5136503cc611227c0183e96598c4f706"
    }
    *** Script: {
      "first_name": "ml_report.user",
      "last_name": null,
      "sys_id": "b6bad6c5c73003005f1b78d48b97632a"
    }

    GlideQuery – withAcls()

    Führt die Abfrage mit aus GlideRecordSecure API zum sicheren Abfragen der Datenbank bei Einhaltung von ACLs.

    Tabelle : 65. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 66. Ergebnisse
    Typ Beschreibung
    GlideQuery Das Abfrageobjekt, das erstellt wird.

    Dieses Beispiel zeigt, wie eine sichere Abfrage mithilfe von ACLs ausgeführt wird.

    var users = new global.GlideQuery('sys_user')
        .withAcls()
        .limit(5)
        .orderByDesc('first_name')
        .select('first_name')
        .forEach(function (user){
            gs.info(JSON.stringify(user, null, 2));
        });

    Ausgabe:

    *** Script: {
      "first_name": "Zane",
      "sys_id": "16826bf03710200044e0bfc8bcbe5dbc"
    }
    *** Script: {
      "first_name": "Zackary",
      "sys_id": "8a826bf03710200044e0bfc8bcbe5d69"
    }
    *** Script: {
      "first_name": "Yvette",
      "sys_id": "4e826bf03710200044e0bfc8bcbe5d57"
    }
    *** Script: {
      "first_name": "Winnie",
      "sys_id": "f682abf03710200044e0bfc8bcbe5d1d"
    }
    *** Script: {
      "first_name": "Wilmer",
      "sys_id": "42826bf03710200044e0bfc8bcbe5d7b"
    }