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 das 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.