Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 12 anos atrás por Avatar de rmanrman.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #104767
    Avatar de MarinaMarina
    Participante

      Bom dia, estou iniciando na linguagem PL/SQL e estou tentando atualizar os campos
      data e o campo e campo motivo, e esta dando violação de chave, alguém pode me ajudar na resolução?
      segue abaixo o script feito:

      DECLARE

      V_REG_PERFIL INTEGER := 0;

      CURSOR cDADOS IS
      SELECT *
      FROM ADMPROD.TBOD_EMPRESA_FATURA E
      WHERE CD_PERFIL_CLIENTE = ‘2’
      AND EXISTS (SELECT 1

      FROM ADMPROD.TBOD_EMPRESA_FATURA EF
      WHERE EF.CD_PERFIL_CLIENTE = E.CD_MOTIVO_PERFIL_CLIENTE
      AND EF.DT_ALTERACAO = ADMPROD.ULTIMA_DATA_EMPRESA_FATURA(E.CD_EMPRESA)
      AND EF.CD_PERFIL_CLIENTE = 2)
      AND ROWNUM < 2; PROCEDURE ATUALIZA_PERFIL_CLIENTE IS CD_MOTIVO_PERFIL_CLIENTE ADMPROD.TBOD_EMPRESA_FATURA.CD_MOTIVO_PERFIL_CLIENTE%TYPE; CD_DT_ALTERACAO ADMPROD.TBOD_EMPRESA_FATURA.DT_ALTERACAO%TYPE; BEGIN UPDATE TBOD_EMPRESA_FATURA SET CD_MOTIVO_PERFIL_CLIENTE ='4', DT_ALTERACAO = SYSDATE WHERE CD_PERFIL_CLIENTE ='2'; IF SQL%ROWCOUNT = 0 THEN DBMS_OUTPUT.PUT_LINE('NAO ENCONTROU REGISTROS PARA PERFIL: ' || V_REG_PERFIL); END IF; END; BEGIN ATUALIZA_PERFIL_CLIENTE; END;

      #104768
      Avatar de rmanrman
      Participante

        @Marina

        Verifique a chave estrangeira definida na coluna CD_MOTIVO_PERFIL_CLIENTE da tabela TBOD_EMPRESA_FATURA, provavelmente não existe o valor ‘4’ na tabela pai.

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