Mudanças entre as edições de "Função @EXPRESSAODB"

(Sintaxe)
Linha 1: Linha 1:
A função @EXPRESSAODB considera a expressão informada apenas para os bancos de dados informados.
+
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.
 
 
Códigos dos bancos de dados:
 
*1 = SQL Server
 
*2 = Oracle
 
*3 = Firebird
 
*4 = PostgreSQL
 
  
 
==='''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.