Pular para o conteúdo

Fóruns SQL e PL/SQL Trigger Só Executa Primeiro Bloco do Programa Trigger Só Executa Primeiro Bloco do Programa

#92294
Girino
Participante

    Olá..!! 8)

    Já alterei o BEFORE conforme foi passado..!! 😉

    CREATE OR REPLACE TRIGGER T_TERCEIRA
    AFTER INSERT ON PCWMSOUTPUT

    BEGIN
    FOR i IN 1 .. pack_estado_tab_1.nt_tab_1.count
    LOOP
    /*
    — BEGIN
    INSERT INTO “sh_pcwmsoutput”@logixteste –( tipo, numero, codprod, codcli, codfornec, codfilial,
    –qtsep, qtrec, qtava, qtcor, dtemissao, semaforo,
    –dtprocessamento, numlote, dtfabricacao,autonumerico)

            VALUES ( pack_estado_tab_1.nt_tab_1(i).tipo,              pack_estado_tab_1.nt_tab_1(i).numero,
                     pack_estado_tab_1.nt_tab_1(i).codprod,           pack_estado_tab_1.nt_tab_1(i).codcli,
                     pack_estado_tab_1.nt_tab_1(i).codfornec,         pack_estado_tab_1.nt_tab_1(i).codfilial,
                     pack_estado_tab_1.nt_tab_1(i).qtsep,             pack_estado_tab_1.nt_tab_1(i).qtrec,
                     pack_estado_tab_1.nt_tab_1(i).qtava,             pack_estado_tab_1.nt_tab_1(i).qtcor,
                     pack_estado_tab_1.nt_tab_1(i).dtemissao,         pack_estado_tab_1.nt_tab_1(i).semaforo,
                     pack_estado_tab_1.nt_tab_1(i).dtprocessamento,   pack_estado_tab_1.nt_tab_1(i).numlote,
                     pack_estado_tab_1.nt_tab_1(i).dtfabricacao,      0);
     -- END;
    

    */

       UPDATE PCWMSOUTPUT
          SET SEMAFORO = 3
        WHERE numero = pack_estado_tab_1.nt_tab_1(i).numero;
     END LOOP;
    

    END;

    [url=http://img707.imageshack.us/i/errooracle.jpg/:30qabbla]

    💡
    Se eu comentar o passo de inserção a trigger funciona e realiza o update.
    Porém eu preciso primeiro inserir os dados e depois ralizar o update.

    Obrigado..!!

    Renato