É simplérrimo : se vc usa cursor explícito, vc checa os atributos, existem nomedocursor%found (verdadeiro se o último fetch do cursor retornou linhas), nomedocursornotfound (verdadeiro se último fetch do cursor Não retornou nada), nomedocursor%rowcount (qtdade de linhas lido, vai ser ZERO se não achou ninguém... Pode ser algo tipo :
DECLARE CURSOR caller_cur IS SELECT caller_id, company_id FROM caller; caller_rec caller_cur%ROWTYPE; BEGIN OPEN caller_cur; FETCH caller_cur INTO caller_rec; if caller_cur%NOTFOUND then dbms_output.put_line('Não achou nada'); else.... CLOSE caller_cur; END; Já se vc usa cursor implícito com FOR, o cursor só existe dentro do loop, se vc quer testar fora do loop se achou ou não alguém imho o mais fácil é usar uma booleana, ou ter um contador no loop, com boolean seria tipo : DECLARE v_retornou boolean := FALSE; BEGIN for r in (select * from all_tables where 1=2) loop v_retornou := TRUE; end loop; -- if v_retornou then dbms_output.put_line('retornou linhas'); else dbms_output.put_line('não retornou'); ... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Elcio Francisco <elciofranci...@...> escreveu > > Pessoal gostaria de saber se tem como saber se um cursor esta vazio ou > não.Tentei varios comandos mas não consegui. Sera que algem podera me ajudar.. > > Obrigado > > > Elcio Francisco > Analista de Sistemas > > > > > [As partes desta mensagem que não continham texto foram removidas] >