Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FERNANDO DE OLIVEIRA SILV

Trigger Insert com Problemas Ora-01403:dados não encontrados

Recommended Posts

Bom Dia, Sou iniciante e estou tentando criar uma trigger para rodar após a inserção de um valor na tabela. Ao executar me apresenta o erro "Ora-01403:dados não encontrados". Realizo o Select e o mesmo me traz os resultados corretamente

Segue abaixo o código da trigger, se puderem me ajudar. O erro me mostra o select, não sei se o where esta correto.

create or replace trigger TRG_R034FUN_INSERT

  after insert  on FOLHA.R034FUN
  for each Row
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
  V_NOMEPESS   VARCHAR2(100);
  v_IDPESSOA   NUMBER(9);
  v_CODIEMPR   NUMBER(4);
  v_TIPOCOLA   NUMBER(38);
  v_CODIMATR   NUMBER(9);
  v_APELCOLA   VARCHAR2(15);
  v_DATAADMI   DATE;
  v_SITUAFAS   NUMBER(38);
  v_DATAAFAS   DATE;
  v_HORAAFAS   NUMBER(38);
  v_---OCOLA   VARCHAR2(1);
  v_DATANASC   DATE;
  v_NUMEPIS    FLOAT;


BEGIN
  SELECT NOMFUN, NUMEMP, TIPCOL, NUMCAD, APEFUN, DATADM, SITAFA, DATAFA, HORAFA, TIP---, DATNAS, NUMPIS
    INTO V_NOMEPESS, v_CodiEmpr, v_TIPOCOLA, v_CODIMATR, v_APELCOLA, v_DATAADMI, v_SITUAFAS, v_DATAAFAS, v_HORAAFAS, v_---OCOLA, v_DATANASC, v_NUMEPIS
      FROM FOLHA.R034FUN WHERE NUMCAD = :NEW.NUMCAD;


  INSERT INTO suricato.TbPessoa (NomePess)
    VALUES  (v_NomePess);




 SELECT suricato.SEQ_TBPESSOA_IdPessoa.currval into v_idpessoa
 from dual;


   INSERT INTO suricato.TbColab(IdPessoa,
                                CodiEmpr,
                                TipoCola,
                                CodiMatr,
                                ApelCola,
                                DataAdmi,
                                SituAfas,
                                DataAfas,
                                HoraAfas,
                                ---oCola,
                                DataNasc,
                                NumePis)
                         VALUES(v_IDPESSOA,
                                V_CodiEmpr,
                                V_TipoCola,
                                V_CodiMatr,
                                V_ApelCola,
                                V_DataAdmi,
                                V_SituAfas,
                                V_DataAfas,
                                V_HoraAfas,
                                V_---oCola,
                                V_DataNasc,
                                V_NumePis);


END;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não precisa do SELECT em FOLHA.R034FUN todos os campos inseridos estão disponíveis como

:NEW.<nome do campo>

 

O SELECT para obter o currval da sequence também é desnecessário pode ir direto no INSERT

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.