Faz assim:

 

Declare

CURSOR LISTAS IS
SELECT .....

begin
FOR REG1 IN LISTAS LOOP 
AUX_P_DATA :=FN_ACHA_DATA_BI
(REG1.CO_SERVICOMANUTENCAO,V_DATAINI,V_DATAFIM,P_DATA);
IF AUX_P_DATA IS NOT NULL THEN

(Faz o insert que você quer);

END IF; 


end loop;

end;

 

Assim ele só faz o insert se AUX_P_DATA for NOT NULL.

Não resolve?

 

Espero ter ajudado.

Neto.

 

  _____  

From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On
Behalf Of rzzanatta
Sent: segunda-feira, 4 de junho de 2007 15:46
To: oracle_br@yahoogrupos.com.br
Subject: [oracle_br] Re: Cursor dúvida.

 

Bom acho que expressei errado: tenho os registro que o cursor me 
trouxe aí, e aí ele entra no loop, só que no loop ele chama uma 
função pra retornar uma data, e se essa data vier nula, esse registro 
do cursor nao poderá ser inserido na tabela, por isso tenho que pular 
esse regstro e ir para o proximo. (é + ou - assim)

Como entao farei isso de pular um registro e ir para o proximo?

CURSOR LISTAS IS
SELECT .....

begin
FOR REG1 IN LISTAS LOOP 
AUX_P_DATA :=FN_ACHA_DATA_BI
(REG1.CO_SERVICOMANUTENCAO,V_DATAINI,V_DATAFIM,P_DATA);
IF AUX_P_DATA = NULL THEN

EXIT LOOP;

END IF; 


end loop;

end;

--- Em [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br, "Rafael Alexandre Schmitt" 
<[EMAIL PROTECTED]> escreveu
>
> Teste se for diferente de null...se for diferente de null você faz 
o que precisa senão você pula para o próximo registro.
> 
> 
> FOR REG1 IN LISTAS LOOP 
> 
> IF reg1.AUX_P_DATA IS NOT NULL THEN
> 
> faça alguma coisa.
> 
> END IF; 
> 
> end loop;
> 
> Ou coloque no seu select a condição que você quer restringir.
> 
> 
> --
> Rafael Alexandre Schmitt
> [EMAIL PROTECTED] || www.hbtec.com.br
> Blumenau - Santa Catarina
> 
> ----- Original Message ----- 
> From: rzzanatta 
> To: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br 
> Sent: Monday, June 04, 2007 3:22 PM
> Subject: [oracle_br] Cursor dúvida.
> 
> 
> Tenho esse curdor, só que quando entrar no loop, queria que 
quando o 
> AUX_P_DATA FOR NULL não aconteça nada, pule para o proximo 
registro 
> do cursor, como faço para pular para o proximo registro? 
> 
> CURSOR LISTAS IS
> SELECT .....
> 
> begin
> FOR REG1 IN LISTAS LOOP 
> 
> IF reg1.AUX_P_DATA = NULL THEN
> 
> EXIT LOOP;
> 
> END IF; 
> 
> 
> end loop;
> 
> end;
> 
> 
> 
> 
> 
> 
> 
> ----------------------------------------------------------
----------
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 04/06/2007 / 
Versão: 5.1.00/5045
> Proteja o seu e-mail Terra: http://mail. <http://mail.terra.com.br/>
terra.com.br/ 
> 
> 
> 
> ----------------------------------------------------------
----------
> 
> 
> No virus found in this incoming message.
> Checked by AVG Free Edition. 
> Version: 7.5.472 / Virus Database: 269.8.7/830 - Release Date: 
3/6/2007 12:47
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a