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;