Mudanças entre as edições de "Função @EXPRESSAODB"
(→Sintaxe) |
|||
| Linha 1: | Linha 1: | ||
| − | A função @EXPRESSAODB | + | 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'''=== | ==='''Sintaxe'''=== | ||
@EXPRESSAODB("AS SELECAO",[1,4]) | @EXPRESSAODB("AS SELECAO",[1,4]) | ||
| + | |||
| + | ==='''Parâmetros'''=== | ||
| + | |||
| + | {| class="wikitable" style="width: 100%" | ||
| + | ! 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%'''' '')'); | ||
| + | finally | ||
| + | Q.Free; | ||
| + | end; | ||
| + | end; | ||
| + | begin | ||
| + | ConsultaDinamica; | ||
| + | end. | ||
Edição das 14h54min de 25 de fevereiro 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%' )');
finally
Q.Free;
end;
end;
begin
ConsultaDinamica;
end.