Eu tenho um Cursor de Dados carregado a partir de Uma select
um tanto pesado,
a principio eu rodo o loop 1º com um count e depois eu rodo ele novamente fazendo os procedimentos internos e mostrando na tela a porcentagem de execução.
mas desta forma duplica o tempo de execuçao(baianagem).
preciso saber ser tem alguma função do Cursor que retorna o numero de linhas que este irá me retornar.
Ultima Linha do Cursor
-
- Rank: Estagiário Sênior
- Mensagens: 8
- Registrado em: Qui, 19 Ago 2004 9:45 am
- Localização: Angola
- Contato:
Charles Mafra
Oracle Developer
Oracle Developer
se sua versão do oracle for 9 ou superior, você pode no seu cursor incluir uma coluna com o total de linhas... por exemplo...
where etc...
cursor empresa is
select cod_empresa, nom_empresa, count(*) over () as total_De_registros
from empresa
- dr_gori
- Moderador
- Mensagens: 5018
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Olá charlesmafra
Mandou bem!
Só que esse count(*) over () também funciona no 8i. Mas, infelizmente, é uma função analítica que só tem no banco Enterprise Edition. No Standard Edition não funciona!
Mandou bem!
Só que esse count(*) over () também funciona no 8i. Mas, infelizmente, é uma função analítica que só tem no banco Enterprise Edition. No Standard Edition não funciona!
- leobbg
- Rank: Programador Júnior
- Mensagens: 22
- Registrado em: Sex, 29 Out 2004 10:25 am
- Localização: PORTO ALEGRE - RS
Leo BBG Consultor Oracle
Bah, faz tempo q não entro no forum ein.. bom carinha, para não precisar abrir trocentas vezes esse cursor utiliza o esquema a baixo que ta feito e tu pode continuar utilizando as outras colunas numa boa.
Abraço! 
Select last_value( COLUNA ) over()
, COLUNA
, COLUNA2
, COLUNA3
FROM TABELA

-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Ter, 02 Fev 2010 7:20 am
- Localização: Belo Horizonte - MG
Finalmente achei um tópico sobre isso!
Das duas formas funcionaram no Oracle 10g:
Obrigada pessoal!
Das duas formas funcionaram no Oracle 10g:
select last_value(rownum) over() as total, campos from tabela
select count(*) over() as total, campos from tabela
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes