GlideQueryCondition - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • A API GlideQueryCondition fornece condições AND ou OR adicionais que podem ser adicionadas à condição atual, permitindo que você crie consultas complexas.

    Crie consultas complexas, como:
    category='hardware' OR category='software' AND priority='2' AND priority='1'

    No caso de addCondition(), um AND implícito é adicionado.

    Esta classe não tem construtor. Um objeto GlideQueryCondition é retornado pelos seguintes métodos:
    • addActiveQuery()
    • addInactiveQuery()
    • addJoinQuery()
    • addNotNullQuery()
    • addNullQuery()
    • addQuery()

    Se houver um conjunto complexo de consultas AND e OR, uma única consulta codificada contendo todas as condições simplifica a criação da consulta. Para simplificar a criação da consulta, crie uma consulta em uma exibição de lista, clique com o botão direito do mouse na consulta e selecione Copiar consulta. Ele cria uma única cadeia de caracteres de consulta codificada para retornar seu conjunto de resultados. Use essa cadeia de caracteres como um parâmetro em uma chamada addEncodedQuery().

    Sempre teste as consultas em uma instância de produto em fase de desenvolvimento antes de implantá-las em uma instância de produção. Uma consulta codificada construída incorretamente, como a inclusão de um nome de campo inválido, produz uma consulta inválida. Quando a consulta inválida é executada, a parte inválida da condição de consulta é descartada e os resultados são baseados na parte válida da consulta, que pode retornar todos os registros da tabela. Usar um método insert(), update(), deleteRecord( )ou deleteMultiple() em resultados de consulta incorretos pode resultar em perda de dados.

    Você pode definir a propriedade do sistema glide.invalid_query.returns_no_rows como verdadeiro para que as consultas com consultas codificadas inválidas não retornem registros.

    GlideQueryCondition - addCondition(cadeia de caracteres nome, cadeia de caracteres oper, valor do objeto)

    Adiciona uma condição E à condição atual.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres O nome de um campo.
    oper Cadeia de caracteres (Opcional) O operador da consulta. Se você não especificar um operador, a condição usará um operador igual.
    valor Objeto O valor a ser consultado.
    Tabela 2. Retorna
    Tipo Descrição
    GlideQueryCondition Uma referência a um GlideQueryConditon que foi adicionado ao 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());

    Equivalente com escopo

    Para usar o método addCondition() em uma aplicação com escopo, use o método com escopo correspondente: addCondition().

    GlideQueryCondition - addOrCondition(cadeia de caracteres nome, cadeia de caracteres oper, valor do objeto)

    Acrescenta um parâmetro OU condição 2 ou 3 a um GlideQueryCondition existente.

    addOrCondition() funciona em conjunto com qualquer um dos métodos addQuery()para OU os parâmetros de consulta especificados para a consulta construída anteriormente usando addQuery().

    addOrCondition() é normalmente chamado com três parâmetros; campo de tabela, operador e valor de comparação. Ele pode ser chamado com apenas dois parâmetros, campo da tabela e valor de comparação, como qc.addOrCondition('category', 'software');. O operador neste caso é considerado "igual a".

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo
    oper Cadeia de caracteres (Opcional) Operador de consulta. Os valores disponíveis dependem do tipo de dados do parâmetro de valor.
    Números:
    • =
    • !=
    • >
    • >=
    • <
    • <=
    Cadeias de caracteres (devem estar em maiúsculas):
    • =
    • !=
    • IN
    • COMEÇA COM
    • ENDSWITH
    • CONTÉM
    • DOESNOTCONTAIN
    valor Objeto Valor a ser consultado (sem distinção entre maiúsculas e minúsculas).
    Nota:
    Todos os passados em matrizes devem conter um mínimo de dois elementos. Matrizes de elemento único não são compatíveis.
    Tabela 4. Retorna
    Tipo Descrição
    GlideQueryCondition Uma referência a um GlideQueryConditon que foi adicionado ao 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());
    

    Para agrupar instruções E/OU, como (estado < 3 OU estado > 5) E (prioridade = 1 OU prioridade = 5), use um código semelhante ao seguinte:

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

    Equivalente com escopo

    Para usar o método addOrCondition() em uma aplicação com escopo, use o método com escopo correspondente: addOrCondition().