Motta 645 Denunciar post Postado Agosto 23, 2014 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
rodrigoords 1 Denunciar post Postado Agosto 26, 2014 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
Motta 645 Denunciar post Postado Agosto 26, 2014 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