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

(Criou página com 'A função @EXPRESSAODB considera a expressão informada apenas para os bancos de dados informados. Códigos dos bancos de dados: *1 = SQL Server *2 = Oracle *3 = Firebird *4...')
 
(Exemplos)
 
(2 revisões intermediárias por 2 usuários não estão sendo mostradas)
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:
+
==='''Sintaxe'''===
*1 = SQL Server
+
 
*2 = Oracle
+
@EXPRESSAODB("AS SELECAO",[1,4])
*3 = Firebird
+
 
*4 = PostgreSQL
+
==='''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
 +
|-
 +
|}
  
==='''Sintaxe'''===
+
==='''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;
  
@EXPRESSAODB(AS SELECAO,[1,2,3,4])
+
begin
 +
  ConsultaDinamica;
 +
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.