Bom dia a todos!
Preciso criar uma trigger que a cada linha inserida numa determinada tabela, seja disparada e posteriormente chama
uma procedure para inserção destes dados em outra tabela. Alguém possui algum exemplo ou possa me ajudar?
Obrigada.
Kátia
Disparar triggers a cada linha inserida na tabela
-
- Rank: Programador Júnior
- Mensagens: 25
- Registrado em: Qui, 16 Mar 2006 8:48 pm
- Localização: são PAULO
- dr_gori
- Moderador
- Mensagens: 5013
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Neste caso, você usa uma trigger AFTER INSERT.
Aqui vai um exemplo:
Aqui vai um exemplo:
CREATE OR REPLACE TRIGGER suatrigger
AFTER INSERT
ON suatabela
FOR EACH ROW
DECLARE
v_username varchar2(10);
BEGIN
-- Busca alguma informacao qualquer. (Apenas um exemplo)
SELECT user INTO v_username
FROM dual;
-- chama uma procedure passando os dados inseridos pra procedure.
PRC_SUAPROC ( :new.order_id,
:new.quantity,
:new.cost_per_item,
:new.total_cost,
v_username );
-- se não quiser chamar procedure, pode inserir direto na outra tabela:
INSERT INTO outratabela
( order_id,
quantity,
cost_per_item,
total_cost,
username )
VALUES
( :new.order_id,
:new.quantity,
:new.cost_per_item,
:new.total_cost,
v_username );
END;
/
-
- Rank: Programador Júnior
- Mensagens: 25
- Registrado em: Qui, 16 Mar 2006 8:48 pm
- Localização: são PAULO
Boa tarde dr_gori!
Exatamente isso que precisava....Vou testar aqui o exemplo ,
Muito obrigada
Exatamente isso que precisava....Vou testar aqui o exemplo ,
Muito obrigada
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante