Jump to content

Archived

This topic is now archived and is closed to further replies.

marcoborgesrsbr

ORA-01001 Cursor Invalido

Recommended Posts

Senhores.

 

tenho a pro abaixo, que tem por objetivo realizar ~

na minha tabela de teste a inclusão em uma coluna do cpf com DAC.

 

porem ja tentei de todas as formas e não encontro o erro do assunto.

 

 

procedure localiza_devedor (pNroTicket int) is

 

vCPF varchar2(14);

vCPF_DAC varchar2(14);

vPRODUTO varchar2(5);

vCOD_DEVEDOR number(19);

VCONTRATO varchar2(30);

VID number(19);

 

CURSOR c1 IS

 

select cpf , ID

into VCPF ,VID

from TEMP_INCLUSOES

where PROCESSADO=0;

 

CURSOR c2 IS

 

select dev_cpf

into vCPF_DAC

from devedor

where dev_cpf like VCPF || '%'

and dev_pro_cod = 'CCG';

 

begin

open c1;

loop

FOR x IN c2

loop

vCPF_DAC:=x.dev_cpf;

 

update TEMP_INCLUSOES i set i.cpf_ajustado=vCPF_DAC where i.cpf=VCPF;-- substr (VCPF,1,9);

 

end loop;

 

close c2;

commit;

end loop;

end localiza_devedor;

 

Share this post


Link to post
Share on other sites

  • Similar Content

    • By TeixeiraRamos
      Saúde e paz para todos,
      Prezados não sei o que vem ocorrendo com a minha procedure;
       
      No phpMyAdmin, em Editar rotina, detalhes consta:
       
       
      Em "Adicionar parâmetro"
       
       
       
      BEGIN DECLARE var_data DATE; DECLARE var_dia VARCHAR(50); DECLARE contador INT DEFAULT 0; SET var_data = data_inicial; SET var_dia = DAYNAME(data_inicial); WHILE contador < intervalo DO INSERT INTO tbpdodia(data_inicio, diassemanas)VALUES (var_data, var_dia); SET contador = contador + 1; SET var_data = DATE_ADD(data_inicial, INTERVAL contador DAY); SET var_dia = DAYNAME(var_data); END WHILE; END; DELIMITER; Call adicionar_data('2020-11-29', 398);  
      Gostaria que a coluna "data_inicial" fosse preenchida com as datas de 2020-11-29 a 2021-12-31
      O resultado mostra erros.
       
      Obrigado, saude
       
       
    • By mr22robot
      Boa tarde. Estou com o seguinte problema: Preciso retornar um selct da seguinte maneira:
      exemplo que não funciona:
      select codusur,numnota,codcli,cliente,vltotal,numtransvenda,dev,decode(vlvenda),if(vlvenda > 100 then 1 else 2) from( select tb1.codusur,tb1.numnota,tb1.codcli,tb1.cliente,tb1.vltotal,tb1.numtransvenda,DECODE(tb2.VLTOTAL,NULL,0,tb2.VLTOTAL)DEV from( select codusur,numnota,pcnfsaid.codcli,pcnfsaid.cliente,pcnfsaid.vltotal,pcnfsaid.numtransvenda from pcnfsaid where pcnfsaid.dtsaida > '01-OCT-2020' and pcnfsaid.dtcancel is null )tb1 left outer join (select DISTINCT VLTOTAL,VW_INTEGRA_DEVOLUCAO_TOTAL.NUMTRANSVENDA from VW_INTEGRA_DEVOLUCAO_TOTAL )tb2 on tb1.NUMTRANSVENDA = tb2.NUMTRANSVENDA order by numnota ) Como pode reparar, eu usei um if/else já que não sei a forma correta de usar. Pois com DECODE não consegui usar uma forma de fazer a comparação. 
      Pois preciso mesmo retornar uns valores fixos. Ex: 
      Se o valor > 40000, retorna um valor x; Se for maior que 5000 retorna um valor y. 
      Aguardo a ajuda dos amigos. Grato
    • By MarcosAntonio
      boa tarde. 
      Estou precisando de um Select que retorne uma soma que ao chegar a determinado valor ela reinicie e continue fazendo sucessivamente
       select   pedido,   volume,   limite,   SUM(volume) over (order by pedido ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) saldo   from pedidos  group by pedido o select está retornando assim porém quero que toda vez que chegue ou passe do limite resete o saldo, por exemplo parar no 100 que é o limite e começar um novo saldo
      pedido     volume    limite    saldo  1             70            100        70  2             10            100        80  3             20            100        100  4             50            100        150  5             30            100        180  
      preciso que ele soma o volume enquanto o saldo seja <= que o "limite", quando passar pare de somar e comece outra soma começando do 0, como no exemplo abaixo.
      pedido    volume    limite    saldo  1             70            100        70  2             10            100        80  3             20            100        100  4             50            100        50  5             30            100        80  
    • By fabiorazevedo
      Boa noite, comecei a pouco a trabalhar com banco oracle, e vem acontecendo uma coisa muito estranha, pelo menos uma vez por semana o banco para, da erro de no listener, nas maquinas e preciso reiniciar o servidor (windows server 2016). olhando no alert não encontro nada, pela falta de experiencia, que possa parecer pertinente ao problema.
    • By Motta
      TikTok evita bloqueio graças a acordo com Oracle e Walmart
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.