Classe AdvPL para criar consultas SQL composicionais de forma declarativa
O objetivo deste projeto é prover uma biblioteca para a linguagem AdvPL que seja capaz de construir consultas SQL compatíveis com diversos bancos de dados de maneira declarativa e não suscetível a erros.
Local oQuery := QueryBuilder():New()
oQuery:From( "STJ990" )
ConOut( oQuery:GetSql() )
Teremos como saída no terminal a seguinte consulta:
SELECT *
FROM STJ990
Podem-se utilizar métodos de maneira fluente para compor a query.
Para torná-la disponível, basta fazer fazer download do arquivo querybuilder.prw e compilá-lo em seu RPO.
SELECT
simples- Aliases em campos
ORDER BY
- Alias customizado para tabela
GROUP BY
- Expressões (
:Equals
,GreaterThan
, entre outros) INNER JOIN
eLEFT JOIN
WHERE
- Funções de agregação (
SUM
,AVG
, entre outras) - Subqueries
Se desejar ver alguns exemplos, pode consultar os testes em querybuilder.test.prw.