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.