Ir para conteúdo

POWERED BY:

Arquivado

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

Nilton Takagi

Registros no cursor

Recommended Posts

Pessoal,estou precisando saber a quantidade de registros em um cursor. Existe alguma forma de fazê-lo?? Alguém já passou por isso? Consigo identifica o número do registro que estou, mas a quantidade total sem antes passar por todos ainda não descobri.Desde já agradeço,Nilton

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o cursor, depois do begin, faz o mesmo select do cursor só que com contcursor c_exemplo isselect cd_campo from tabela;v_cont number := 0;beginselect count(cd_campo) into v_contfrom tabelaopen cursorclose cursor

Compartilhar este post


Link para o post
Compartilhar em outros sites

É uma boa Eduardo, mas o select é um pouco pesado e era isso que queria evitar.Não queria rodar o select novamente e sim uma vez rodado para abrir o cursor obter a quantidade de registros.Alguma outra dica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

SIMPLES, utilize somente um %ROWCOUNT que resolve. Exemplo:

 

SQL> l  1  declare  2	 cursor TST is (select * from regions);  3	 curTST TST%rowtype;  4  begin  5	 open TST;  6	 loop  7			 fetch TST into curTST;  8			 exit when TST%notfound;  9					 dbms_output.put_line ('REGIAO : ' || curTST.REGION_NAME || '.'); 10	 end loop; 11			 dbms_output.put_line ('TOTAL : ' || TST%ROWCOUNT || '.'); 12	 close TST; 13* end;

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/dormindo.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa também Rodrigo.Já tinha visto RowCount, mas ele traz o número do registro atual. Como você colocou, trará depois que passar por todo o cursor a quantidade total.O que estou querendo fazer é um "progress bar" na aplicação. Para isso, teria que saber quantos registros tem o meu cursor no início para ir caminhando na barra até o último.Alguém já passou por isso?

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.