Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #104816
    Avatar de airoospairoosp
    Participante

      Boa tarde,

      Criei o cursor abaixo:

      Cursor HISTORICO is
      select specnum, codhis, decode(debcred,1,’D’,’C’) debcred,
      deschist, preenche1, preenche2, preenche3
      from hist
      order by specnum, codhis, debcred;

      Ao executar o comando abaixo para recuperar as informações do cursor, vi que o processo para na linha v_debcred :=lnC.debcred.

      .
      .
      .
      for lnC in HISTORICO loop

      v_mnemonico :=lnC.Specnum;
      v_codhis :=lnC.codhis;
      v_deschist :=lnC.deschist;
      v_debcred :=lnC.debcred;
      v_preenche1 :=lnC.preenche1;
      v_preenche2 :=lnC.preenche1;
      v_preenche3 :=lnC.preenche1;
      .
      .
      .

      Alguém sabe se há alguma limitação no uso do DECODE com cursor? Se não funcionar o que pode ser utilizado ao invés do DECODE?
      Fiz um teste com o CASE e também tive o mesmo problema.

      Obrigado.

      Airton

      #104817
      Avatar de airoospairoosp
      Participante

        Boa tarde,

        Consegui descobrir o erro, a variável v_debcred estava definida de forma errada, deveria ser varchar2 e number.

        Foi possível identificar melhor o erro quando utilizei o CASE, pois a mensagem exibiu informação mais clara. O detalhe foi que fiz o teste pelo debug do PL/SQL Developer e quando chegou na linha da variável v_debcred parecia que o processo parou e demorou bastante para exibir a mensagem de erro.

        Obrigado.

        Airton

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress