GlideQueryCondition : global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 3 minutes de lecture
  • L’API GlideQueryCondition fournit des conditions AND ou OR supplémentaires qui peuvent être ajoutées à la condition actuelle, ce qui vous permet de créer des requêtes complexes.

    Créez des requêtes complexes telles que :
    category='hardware' OR category='software' AND priority='2' AND priority='1'

    Dans le cas de addCondition(), un ET implicite est ajouté.

    Cette classe n’a pas de constructeur. Un objet GlideQueryCondition est renvoyé par les méthodes suivantes :
    • addActiveQuery()
    • addInactiveQuery()
    • addJoinQuery()
    • addNotNullQuery()
    • addNullQuery()
    • addQuery()

    S’il existe un ensemble complexe de requêtes AND et OR, une requête codée unique contenant toutes les conditions simplifie la création de requêtes. Pour simplifier la création de requêtes, créez une requête dans une vue de listes, cliquez avec le bouton droit sur la requête, puis sélectionnez Copier la requête. Il crée une chaîne de requête codée unique pour retourner votre ensemble de résultats. Utilisez cette chaîne comme paramètre dans un appel addEncodedQuery().

    Testez toujours les requêtes sur une instance de sous-production avant de les déployer sur une instance de production. Une requête codée mal construite, comme l’inclusion d’un nom de champ non valide, génère une requête non valide. Lorsque la requête non valide est exécutée, la partie non valide de la condition de requête est abandonnée et les résultats sont basés sur la partie valide de la requête, qui peut renvoyer tous les enregistrements de la table. L’utilisation d’une méthode insert(),update(), deleteRecord() ou deleteMultiple() sur des résultats de requête incorrects peut entraîner une perte de données.

    Vous pouvez définir la glide.invalid_query.returns_no_rows propriété système sur vrai pour que les requêtes codées non valides ne renvoient aucun enregistrement.

    GlideQueryCondition - addCondition(nom de chaîne, opérateur de chaîne, valeur de l’objet)

    Ajoute une condition ET à la condition actuelle.

    Tableau 1. Paramètres
    Nom Type Description
    nom Chaîne Nom d’un champ.
    Oper Chaîne (Facultatif) Opérateur de la requête. Si vous ne spécifiez pas d’opérateur, la condition utilise un opérateur égal.
    valide Objet Valeur à interroger.
    Tableau 2. Renvoie
    Type Description
    GlideQueryCondition Référence à un GlideQueryConditon qui a été ajouté au GlideRecord.
    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());

    Équivalent dans le champ d’application

    Pour utiliser la méthode addCondition() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : addCondition().

    GlideQueryCondition - addOrCondition(nom de chaîne, opérateur de chaîne, valeur de l’objet)

    Ajoute une condition OU 2 ou 3 paramètres à une condition GlideQueryCondition existante.

    addOrCondition() fonctionne en conjonction avec n’importe quelle des méthodes addQuery() pour OU les paramètres de requête spécifiés à la requête précédemment construite à l’aide de addQuery().

    addOrCondition() est généralement appelée avec trois paramètres ; Champ de table, opérateur et valeur de comparaison. Elle peut être appelée avec seulement deux paramètres, un champ de table et une valeur de comparaison, tels que qc.addOrCondition('category', 'software') ;. Dans ce cas, l’opérateur est supposé être « égal à ».

    Tableau 3. Paramètres
    Nom Type Description
    nom Chaîne Nom de champ
    Oper Chaîne (Facultatif) Opérateur de requête. Les valeurs disponibles dépendent du type de données du paramètre de valeur .
    Numéros:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Chaînes (doit être en majuscules) :
    • =
    • !=
    • DANS
    • STARTSWITH
    • ENDSWITH
    • CONTIENT
    • NE CONTIENT PAS
    valide Objet Valeur à interroger (insensible à la casse).
    Remarque :
    Tous les tableaux transmis doivent contenir au minimum deux éléments. Les tableaux à élément unique ne sont pas pris en charge.
    Tableau 4. Renvoie
    Type Description
    GlideQueryCondition Référence à un GlideQueryConditon qui a été ajouté au GlideRecord.
    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());
    

    Pour regrouper les instructions ET/OU telles que (état &lt; 3 OU état > 5) ET (priorité = 1 OU priorité = 5), utilisez un code similaire à ce qui suit :

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

    Équivalent dans le champ d’application

    Pour utiliser la méthode addOrCondition() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : addOrCondition().