Fórum CRIAR TRIGGER QUE ATUALIZE TABELA #458317
11/10/2013
0
PRECISO CRIAR UMA TRIGGER QUE ATUALIZE A TABELA ESTOQUE TODA VEZ QUE FOR DADO UM INSERT, DELETE OU UPDATE NA TABELA PRODUTOS.
FIZ COMO MOSTRA ABAIXO MAIS ESTA APRESENTANDO ERRO.
ALGUÉM PODE ME AJUDAR OU ME MOSTRAR UM JEITO MAIS FÁCIL DE FAZER??
CREATE TRIGGER ATUALIZA_PRODUTO_ESTOQUE ON PRODUTO
AFTER INSERT
AS
INSERT INTO ESTOQUE
SELECT COD_ESTOQUE, COD_PRODUTO, NOME_PRODUTO, QTDE_ESTOQUE,VALOR_UNITARIO FROM INSERTED
GO
insert into PRODUTO (COD_PRODUTO, STATUS, ESTOQUE_MINIMO, ESTOQUE_MAXIMO, QTDE);
values (8, 'teste', 'A', 1, 250);
update into PRODUTO (COD_PRODUTO, STATUS, ESTOQUE_MINIMO, ESTOQUE_MAXIMO, QTDE)
values (8, 'teste', 'I', 1, 150);
delete into PRODUTO (COD_PRODUTO, STATUS, ESTOQUE_MINIMO, ESTOQUE_MAXIMO, QTDE)
values (8, 'teste', 'I', 1, 150);
Francielle Oliveira
Curtir tópico
+ 0Posts
21/10/2013
Kaio
CREATE OR REPLACE TRIGGER NOME_TRIGGER
BEFORE INSERT OF NOME_CAMPO ON TABELA_1
BEGIN
IF UPDATING THEN
insert into TABELA2 (Campo1, Campo2)
values (new.CampoA, new.CampoB);
END IF;
END NOME_TRIGGER;
onde
Campo1 e Campo2 são campos da TABELA2
CampoA e CampoB são campos da TABELA1
Gostei + 0
21/10/2013
Deivison Melo
CREATE OR REPLACE TRIGGER ATUALIZA_PRODUTO_ESTOQUE
AFTER INSERT ON sua_tabela
REFERENCING
NEW AS NEW
OLD AS OLD
FOR EACH ROW -- aqui digo se é linha à linha
BEGIN
insert into PRODUTO (COD_PRODUTO, STATUS, ESTOQUE_MINIMO, ESTOQUE_MAXIMO, QTDE);
values (:NEW.COD_PRODUTO, :NEW.STATUS, :NEW.ESTOQUE_MINIMO, :NEW.ESTOQUE_MAXIMO, :NEW.QTDE);
END;
Qualquer dúvida estou à disposição
Abração e bons códigos!!
Gostei + 0
30/10/2013
Deivison Melo
Abração e bons códigos!!
Gostei + 0
31/10/2013
Deivison Melo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)