GlideQueryCondition - com escopo
A API GlideQueryCondition com escopo fornece condições AND ou OR adicionais que podem ser adicionadas à condição atual, permitindo que você crie consultas complexas.
category='hardware' OR category='software' AND priority='2' AND priority='1'No caso de addCondition(), um E implícito é adicionado.
- addActiveQuery()
- addInactiveQuery()
- addJoinQuery()
- addNotNullQuery()
- addNullQuery()
- adicionarConsulta()
Se houver um conjunto complexo de consultas AND e OR, uma única consulta codificada contendo todas as condições simplificará 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 consultas em uma instância de subprodução 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 deleteMutiple() 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 verdadeira para que as consultas com consultas codificadas inválidas não retornem registros. Em alguns casos, a consulta ainda pode retornar registros nos resultados da API, mesmo quando glide.invalid_query.returns_no_rows está definido como verdadeiro. Isso acontece em consultas em que um termo de consulta inválido é usado com um operador WHERE. Nessas consultas, o operador WHERE ignora os termos inválidos, mas ainda interpreta e retorna o restante da declaração de consulta. Para obter mais informações sobre esta propriedade do sistema e sua funcionalidade, consulte Available system properties.
GlideQueryCondition - addCondition(cadeia de caracteres nome, cadeia de caracteres oper, valor do objeto)
Adiciona uma condição E à condição atual.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome de um campo. |
| operador | Cadeia de caracteres | Opcional. O operador da consulta. Se você não especificar um operador, a condição usará um operador igual a. |
| valor | Objeto | Valor a ser consultado. |
| Tipo | Descrição |
|---|---|
| GlideQueryCondition | Referência a um GlideQueryConditon que foi adicionado ao registro do glide. |
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(cadeia de caracteres nome, cadeia de caracteres oper, valor do objeto)
Acrescenta um parâmetro OU condição de dois ou três a um GlideQueryCondition existente.
addOrCondition() funciona em conjunto com qualquer um dos métodos addQuery() para OR 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".
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome do campo |
| operador | 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):
|
| valor | Objeto | Valor a ser consultado (sem distinção entre maiúsculas e minúsculas). Nota: Todas as matrizes passadas devem conter no mínimo dois elementos. Matrizes de elemento único não são compatíveis. |
| 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 para fazer consultas complexas, como "Todos os incidentes com um (estado menor que 3 OU maior que 5) E (prioridade é 1 OU prioridade é 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();