[firebase-br] Cursores FB 2.0 A/C CANTU

Marciano Bandeira marciano.bandeira em bol.com.br
Seg Set 11 01:14:03 -03 2006


Nos 2 casos o plano gerado é NATURAL

Estrutura da tabela -> Com exatos um milhao de registros

CREATE TABLE CLIENTES (
    CODIGO  INTEGER,
    NOME    VARCHAR(40)
);




Código utilizando For Select -> Tempo 16 Segundos

Execute block
Returns (CODIGO Integer, NOME VarChar(40))
As
begin
  For Select CODIGO,NOME From Clientes Into :CODIGO,:NOME Do
    Suspend;
end




Código utilizando Cursor -> Tempo mais de 4 Minutos

Execute block
Returns (CODIGO Integer, NOME VarChar(40))
As
declare variable C Cursor For (Select CODIGO,NOME From Clientes);
begin
  Open C;

  Fetch C Into :CODIGO,:NOME;
  while (row_count > 0) do
    begin
      Suspend;
      Fetch C Into :CODIGO,:NOME;
    end

  Close C;
end

Grato
Marciano Bandeira 





Mais detalhes sobre a lista de discussão lista