1) DELIMITER $ CREATE PROCEDURE reajuste_produto(IN prod VARCHAR(50), IN valor FLOAT) BEGIN DECLARE contador, id INT DEFAULT 0; SELECT COUNT(*) INTO contador FROM produto WHERE descricao LIKE '%prod%'; IF (contador<>0) THEN BEGIN SELECT id_produto INTO id FROM produto WHERE descricao=prod; UPDATE produto SET preco_venda=preco_venda+(preco_venda*valor/100) WHERE id_produto=id; SELECT "Reajustado com Sucesso"; END; ELSE SELECT "Produto Não Encontrado"; END IF; END$ 2) DELIMITER $ CREATE PROCEDURE pedido_cancelado() BEGIN DECLARE contador INT DEFAULT 0; DECLARE id, max_id INT; SELECT MAX(id_pedido_venda) INTO max_id FROM pedido_venda; laco1:WHILE (max_id>0) DO BEGIN SELECT COUNT(*) INTO contador FROM pedido_venda JOIN itens_pedido_venda USING(id_pedido_venda) WHERE id_pedido_venda=max_id; IF(contador=0) THEN BEGIN UPDATE pedido_venda SET id_status=2 WHERE id_pedido_venda=max_id; END; END IF; SET max_id=max_id-1; END; END WHILE laco1; END$ 3) DELIMITER $ CREATE PROCEDURE premio_funcionario() BEGIN DECLARE total_pedido float DEFAULT 0; DECLARE max_id INT DEFAULT 0; SELECT MAX(id_funcionario) INTO max_id FROM funcionario; laco1:WHILE (max_id>0) DO BEGIN SELECT SUM(total) INTO total_pedido FROM pedido_venda WHERE id_funcionario=max_id and datediff(curdate(),data)<=90 GROUP BY(id_funcionario); IF(total_pedido>30000) THEN BEGIN UPDATE funcionario SET salario_fixo=salario_fixo*1.1 WHERE id_funcionario=max_id; END; END IF; SET max_id=max_id-1; END; END WHILE laco1; END$ 4) 5) 6) DELIMITER $ CREATE TRIGGER estoque_pedido_insert AFTER INSERT ON itens_pedido_venda FOR EACH ROW BEGIN UPDATE produto SET quantidade=quantidade-(NEW.quantidade) WHERE id_produto=NEW.id_produto; END$ DELIMITER $ CREATE TRIGGER estoque_pedido_update AFTER UPDATE ON itens_pedido_venda FOR EACH ROW BEGIN UPDATE produto SET quantidade=quantidade-(NEW.quantidade)+(OLD.quantidade) WHERE id_produto=NEW.id_produto; END$ DELIMITER $ CREATE TRIGGER estoque_pedido_delete AFTER DELETE ON itens_pedido_venda FOR EACH ROW BEGIN UPDATE produto SET quantidade=quantidade+(OLD.quantidade) WHERE id_produto=OLD.id_produto; END$