Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Motta

Saber a quantidade de registros dentro de um for cursor

Recommended Posts

Dentro do exemplo abaixo :

Begin
  For r in (select * from tabela) 
  Loop 
       ..... ;
 End loop;
 End;

Existe alguma forma direta de saber dentro do loop quantos registros tem o cursor ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Olá,


Talvez eu não tenha entendido muito bem, mais pelo que eu entendi um count() possa te ajudar.


select count(*) from



Begin


contador number(6) := select count(*) from tabela;


For r in (select * from tabela)

Loop

..... ;

End loop;

End;



ou talvez, dependendo do que você for fazer o SQL%ROWCOUNT possa te ajudar, ele é um cursor implícito do Oracle que retorna a quantidade de linhas afetadas pelo comando anterior.


Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nâo rodrigoords , dentro de "for" o SQL%ROWCOUNT não funcionou.

 

Sei que daria para dar um count*) antes o que eu queria era saber dentro do Cursor e só executando uma vez.

 

Uma solução possível (achei depois) seria incluir um "COUNT(*) OVER" no select, degrada um pouco mas resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.