Duvida na criação de Trigger

Oracle

20/07/2015

Boa tarde a todos, estou iniciando na criação de trigger, preciso criar uma trigger que quando for inserido um novo pedido ela seja acionada pegue algumas informações e grave em outra tabela, eu estou tentando fazer desta forma:

CREATE OR REPLACE TRIGGER <nome_trigger>
BEFORE INSERT OR UPDATE ON tabela1
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW

BEGIN
INSERT INTO tabela2
(t2.campo_1, t2.campo_2, t2.campo_3, t2.campo_4, t2.campo_5, t2.campo_6, t2.campo_7, t2.campo_8)
SELECT
:NEW.t1.campo_1, :NEW.t1.campo_2, :NEW.t1.campo_3,'FRETE TESTE', (:NEW.t1.campo_4* 1.05), 0, null, null
FROM tabela1;
END;
Raul Costa

Raul Costa

Curtidas 0

Respostas

João Françozo

João Françozo

20/07/2015

Boa tarde Raul,

O Begin vem antes do for each row.

---------------------------------------------------------

Segue abaixo.



CREATE OR REPLACE TRIGGER <nome_trigger>
BEFORE INSERT OR UPDATE ON tabela1
REFERENCING NEW AS NEW OLD AS OLD

BEGIN

FOR EACH ROW

INSERT INTO tabela2
(t2.campo_1, t2.campo_2, t2.campo_3, t2.campo_4, t2.campo_5, t2.campo_6, t2.campo_7, t2.campo_8)
SELECT
:NEW.t1.campo_1, :NEW.t1.campo_2, :NEW.t1.campo_3,''FRETE TESTE'', (:NEW.t1.campo_4* 1.05), 0, null, null
FROM tabela1;
END;
GOSTEI 0
POSTAR