Exercício Trigger
BdRhino
EasyEstoque
Foi criado um trigger para antes de inserir uma nova venda, exibir uma mensagem de que o cliente que está efetuando a compra é devedor.
CREATE OR REPLACE FUNCTION saldocliente() RETURNS TRIGGER AS $saldocliente$ DECLARE xsaldo money; BEGIN PERFORM xsaldo = (SELECT saldo FROM venda INNER JOIN clientes ON (venda.idcliente = clientes.idcliente)); IF (xsaldo < '0' ) THEN RAISE EXCEPTION 'Cliente com pendencia!', NEW.idcliente; END IF; RETURN NEW; END; $saldocliente$ LANGUAGE plpgsql;
CREATE TRIGGER verificarcliente BEFORE INSERT ON venda FOR EACH ROW EXECUTE PROCEDURE saldocliente();
SafeMarket
CREATE OR REPLACE TRIGGER "TRIGGERDELETE"
AFTER DELETE
ON REGISTROCAIXA
FOR EACH ROW
BEGIN
INSERT INTO REGISTROCAIXA
( cpfcaixa )
VALUES
( :old.cpfcaixa);
END;