Mudanças entre as edições de "Função @EXPRESSAODB"
(→Exemplos) |
|||
Linha 40: | Linha 40: | ||
Q := NewPHQuery; | Q := NewPHQuery; | ||
Q.Add('SELECT * FROM CLIENTES ' + | Q.Add('SELECT * FROM CLIENTES ' + | ||
− | 'WHERE @EXPRESSAODB(''NOME LIKE ''''A%'''' '')'); | + | 'WHERE @EXPRESSAODB("''NOME LIKE ''''A%'''' '')'",[1,3]); |
finally | finally | ||
Q.Free; | Q.Free; | ||
end; | end; | ||
end; | end; | ||
+ | |||
begin | begin | ||
ConsultaDinamica; | ConsultaDinamica; | ||
end. | end. |
Edição atual tal como às 09h54min de 1 de março de 2025
A função @EXPRESSAODB permite a execução dinâmica de expressões SQL dentro de uma consulta. Ela é útil quando se deseja construir trechos de SQL de forma parametrizada ou condicional, melhorando a flexibilidade das consultas.
Sintaxe
@EXPRESSAODB("AS SELECAO",[1,4])
Parâmetros
Nome | Banco | Descrição |
---|---|---|
@EXPRESSAODB | PostgreSQL | EXECUTE |
@EXPRESSAODB | Oracle | EXECUTE IMMEDIATE |
@EXPRESSAODB | FireBird | EXECUTE STATEMENT |
@EXPRESSAODB | SQLServer | EXEC sp_executesql |
Exemplos
procedure ConsultaDinamica; var Q: TPHQuery; begin try Q := NewPHQuery; Q.Add('SELECT * FROM CLIENTES ' + 'WHERE @EXPRESSAODB("NOME LIKE 'A%' )'",[1,3]); finally Q.Free; end; end;
begin ConsultaDinamica; end.