TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Gatilhos Em Banco De Dados

Pesquisas Acadêmicas: Gatilhos Em Banco De Dados. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  13/3/2015  •  373 Palavras (2 Páginas)  •  396 Visualizações

Página 1 de 2

GABARITO TRABALHO

1) Crie um gatilho que inclua um registro na tabela comissao para cada venda realizada por um vendedor. Lembrando que a comissão é calculada baseado em 1% do atributo Venda.Valor (nome do gatilho: gatilho1)

CREATE TRIGGER gatilho1

AFTER UPDATE

ON comissao

FOR EACH ROW

EXECUTE PROCEDURE venda_realizada();

CREATE OR REPLACE FUNCTION venda_realizada()

RETURNS "trigger" AS

$BODY$

BEGIN

IF venda.idVenda = new. Venda_idVenda THEN

UPDATE COMISSAO a SET a.VALORCOMISSAO = (select b.valor*0,01 from venda b

Where b. idvenda = new.venda_idvenda )

WHERE a.venda_idvenda in (select idvenda from venda where idvenda = new.venda_idvenda);

END IF;

RETURN NEW;

END;

$BODY$

LANGUAGE 'plpgsql';

2) Crie um gatilho que inclua um registro na tabela autorização após a inclusão de um

reparo. (nome do gatilho: gatilho2)

CREATE TRIGGER gatilho2

AFTER INSERT

ON reparo

FOR EACH ROW

EXECUTE PROCEDURE reparo_autorizacao();

CREATE OR REPLACE FUNCTION reparo ()

RETURNS "trigger" AS

$BODY$

BEGIN

IF NOT EXISTS (SELECT 1 FROM autorizacao

WHERE idautorizacao = new.idautorizacao) THEN

Insert into autorizacao

(idautorizacao, autorizado, motivo, dataautorizacao, idempregado_autoriza, idempregado_solicitante, idoperacao, operacao, descoperacao)

Values

(new.idautorizacao, new.autorizado,new. motivo, new.dataautorizacao,new. idempregado_autoriza, new.idempregado_solicitante,new. idoperacao, new.operacao, new.descoperacao);

END IF;

RETURN NEW;

END;

$BODY$

LANGUAGE 'plpgsql';

3) Crie um gatilho que inclua um registro na tabela autorização após a inclusão de uma reserva de peça na tabela estoque.

CREATE TRIGGER gatilho3

AFTER INSERT

ON Estoque

FOR EACH ROW

EXECUTE PROCEDURE reparo_estoque();

CREATE OR REPLACE FUNCTION reparo_estoque()

RETURNS "trigger" AS

$BODY$

...

Baixar como (para membros premium)  txt (3.1 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com