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