Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #107666
    Avatar de Raul CostaRaul Costa
    Participante

      Bom dia a todos!!!
      Pessoal não tenho experiencia em criação de PROC, suponho que o erro está quando não encontra dados no select, mas a questão é o que eu tenho que fazer neste caso?

      BEGIN

      OPEN CUR_vSERIE;
      FETCH CUR_vSERIE INTO vDATA,vITEM,vSERIE,vDESCR,vCDPATR,vCLIENT;

      WHILE CUR_vSERIE%FOUND LOOP
      IF (vSERIE <> ‘ ‘) OR (vSERIE IS NOT NULL) THEN
      SELECT
      EQP_NUMSEREQUI
      INTO
      eSERIE
      FROM
      EQUPROJ_EQP
      JOIN CONTRATOSIGEP_CTR
      ON EQP_CODCONTRAT = CTR_CODIGO
      JOIN LINHAPRODMXM_LPM
      ON EQP_CODPARTNBR = LPM_CODPARTNBR
      JOIN LINHAPROD_LIN
      ON LPM_PRDEDPCODE = LIN_CODEDPCODE
      JOIN SEGEQUIP_SEG
      ON LIN_CODSEGMENTO = SEG_CODSEGEQUIP
      WHERE
      EQP_NUMSEREQUI = vSERIE;

      IF eSERIE IS NULL THEN
      INSERT INTO EQUPROJ_EQP SELECT * FROM VW_CARREGARDADOSSIGEP WHERE EQP_NUMSEREQUI = vSERIE;
      END IF;

      END IF;
      FETCH CUR_vSERIE INTO vDATA,vITEM,vSERIE,vDESCR,vCDPATR,vCLIENT;
      END LOOP;

      CLOSE CUR_vSERIE;

      Então, quando não retorna valor para vSERIE para acrescentar na eSERIE o que eu tenho que fazer?

      #107668
      Avatar de rmanrman
      Participante

        @Raul Costa

        Todo SELECT que não traz resultado gera uma exceção, desta forma você precisa tratar essa exceção.

        Segue um artigo, verifique a exceção de NO_DATA_FOUND:

        http://www.oracle.com/technetwork/issue-archive/2008/08-jul/o48plsql-101224.html

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