Ferramenta para gerar Embedded Query

No artigo de hoje, vamos demonstrar uma excelente ferramenta gratuita para converter queries comuns para Embedded SQL.

Essa dica foi enviada pelo grande Hitler Almeida ( LinkedIn ). Sabemos que o Protheus é um ERP versátil com a possibilidade de trabalhar com SQL Server, Oracle, Postgre, etc.

Acontece que existem alguns comandos únicos para cada mecanismo de banco de dados, como por exemplo ISNULL no SQL Server e NVL no Oracle.

Por isso, existe um recurso chamado Embedded SQL, que caso você faça um fonte com queries que sejam executadas em mais de um banco de dados, você digita uma única query que irá servir para todos os ambientes.

Pensando nisso, o pessoal do Ctrl+T montou um site excelente que faz a conversão da string da query comum para o Embedded SQL.

O endereço do site é: https://www.ctrl-t.com.br/embeded/

E abaixo um print de uma query de exemplo que eu montei:

Exemplo da geração da query

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

4 Responses

  1. Natanael Delatorre disse:

    Caro colega, poderia verificar se o mecanismo usa a antiga função change query(), que fazia a adaptação como o artigo diz fazer.
    Abraço!

    • Bom dia Natanael, tudo bem?

      A ChangeQuery() é usada para queries em texto (que faz a conversão por exemplo, do ISNULL para COALESCE).

      A Embedded Query, trata por trás de forma nativa, então você escreve numa linguagem (AdvPL), que irá passar para o TOP (DbAccess).
      Para isso, existe o comando %noParser%, onde ao usá-lo você força que queira que seja usado os comandos que você digitou (ex.: ISNULL), e quando você não usa, ele já por trás o ChangeQuery(), assim os comandos são alternados (ex.: COALESCE).

      Grande abraço.

  2. Ramilson Junior disse:

    Muito bom. Uma sugestão é que, por questões de performance, a própria totvs está recomendando a utilização do TcGenqry2

Deixe uma resposta