mplcrj 0 Denunciar post Postado Março 2, 2015 Boa tarde pessoal, criei duas tabelas, uma chamada contatos e outra chamada contatos_java. Coloquei uma trigger BEFORE INSERT onde ela popula a tabela contatos_java depois de inserido na contatos. A trigger compila normalmente porém não insere nada na tabela contatos_java. Segue abaixo a trigger usada. create or replace trigger tg_contatos_dankia before insert on CONTATOS for each row declare pragma Autonomous_Transaction; begin insert into contatos_java select seq_contatos_java.nextval,id_contatos,nome,endereco,datanascimento,sysdate from contatos where id_contatos = :new.id_contatos; commit; end; Alguém poderia me ajudar com isso? Att, Marcos P L Couto Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 3, 2015 O select não funciona pois o registro não foi inserido , before e trans. Independente , use o insert mas insira direto aa váriaveis com o :new.campo Neste caso não recomendo usar a transação autonoma. Compartilhar este post Link para o post Compartilhar em outros sites
mplcrj 0 Denunciar post Postado Março 3, 2015 Eu troquei para AFTER na trigger, porém a mesma compila e continua não inserindo na outra tabela. Vi que esse método (insert com select) pode ser usado, porém não esta funcionando de nenhum jeito. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 3, 2015 O "insert from select" funciona mas você está com transação independente e isto afeta , creio (sem Oracle para testar) mas o select é desnecessário pois se tem os campos na tag "new" insert into contatos_java Values (seq_contatos_java.nextval, : new.id_contatos, :new.nome, :new.endereco, :new.datanascimento, sysdate) Compartilhar este post Link para o post Compartilhar em outros sites