4D v14.3QUERY BY FORMULA |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
QUERY BY FORMULA
QUERY BY FORMULA
QUERY BY FORMULA procura registros em tabela. QUERY BY FORMULA modifica a seleção atual de tabela para o processo atual e faz do primeiro registro o novo registro atual. QUERY BY FORMULA e QUERY SELECTION BY FORMULA funcionam exatamente da mesma maneira, exceto que QUERY BY FORMULA busca em todos os registros da tabela e QUERY SELECTION BY FORMULA busca unicamente nos registros da seleção atual. O parâmetro formula pode ser simples, como a comparação de um campo com um valor; ou complexa, como a realização de um cálculo ou inclusive uma avaliação dos valores em uma tabela relacionada. formula pode ser uma função 4D (comando), ou uma expressão que você tenha criado. Quando trabalhe com campos de tipo Alfa ou Texto, pode utilizar em formula símbolos arroba (@) assim como o operador "contém" (%) para pesquisas de palavras chaves. Para maior informação, por favor consulte a descrição do comando QUERY. Estes comandos são otimizados e podem particularmente aproveitar os índices. Quando o tipo de pesquisa o permite, esses comandos executam pesquisas equivalentes ao comando QUERY. Por exemplo, a instrução QUERY BY FORMULA ([minhatabela]; [minhatabela]meucampo=valor) será executado igual que QUERY ([minhatabela]; [minhatabela]meucampo=valor), que permite utilizar índices. 4D também pode otimizar pesquisas que contenham partes que não possam ser otimizadas, executando primeiro as partes otimizáveis e depois combinando os resultados com o resto da pesquisa. Por exemplo, a instrução QUERY BY FORMULA ([minhatabela]; Length(meucampo)=valor1 | meucampo=valor2 ) será otimizado parcialmente. - Se a formula não pode ser quebrada em elementos da forma { campo ; comparador ; valor} Nas versões anteriores de 4D Server, este comando se executava nas máquinas clientes. Por compatibilidade, este funcionamento é conservado nos bancos de dados convertidos a versão 11. Uma preferência de compatibilidade e um seletor do comando SET DATABASE PARAMETER permitem adotar o funcionamento da versão 11 (execução no servidor) nestes bancos de dados. Este exemplo busca os registros para todas as faturas que sejam introduzidas em dezembro de qualquer ano. O princípio consiste em aplicar a função Month of a cada registro. Esta pesquisa não poderia ser realizada de outra forma sem criar um campo separado para o mês: QUERY BY FORMULA([Faturas];Month of([Faturas]Entrada)=12) ` Buscar as faturas entradas em dezembro Este exemplo procura os registros das pessoas que tenham nomes com mais de 10 caracteres: QUERY BY FORMULA([Pessoas];Length([Pessoas]Nome)>10) ` Pesquisar nomes de mais de dez caracteres Este exemplo ativa as unições SQL para uma pesquisa por fórmula específica: $valorAtual:=Get database parameter(QUERY BY FORMULA Joins) |
PROPRIEDADES
Produto: 4D
HISTÓRIA
Modificado: 4D v11 SQL Release 2 VER TAMBÉM
QUERY ARTICLE USAGE
Manual de linguagem 4D ( 4D v12.4) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||