Fórum Duvida na criação de Trigger #526338
20/07/2015
0
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;
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
Curtir tópico
+ 0
Responder
Posts
01/09/2015
João Françozo
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;
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)