Componentes del Grupo:
Chesen Castilla Gil - [email protected]
Néstor Torres Díaz - [email protected]
Edgar Figueroa González - [email protected]
- PDF con el Supuesto : Supuesto Práctico
- PDF descriptivo: Descripción
- Esquema E/R(.drawio): Esquema
- PDF descriptivo: Descripción
- Esquema E/R(.drawio): Esquema
- Una función procedure en mysql para genererar un correo electronico.
CREATE PROCEDURE crear_email(IN nombre_cliente VARCHAR(45), IN id_persona VARCHAR(45), IN code varchar(45), IN dominio VARCHAR(24), OUT nuevo_email VARCHAR(45))
BEGIN
SET nuevo_email = CONCAT(nombre_cliente,code,'@',dominio);
END;
- Trigger para generar un correo cuando no se especifique.
CREATE TRIGGER trigger_crear_email_before_insert BEFORE INSERT ON viveros.Cliente
FOR EACH ROW
BEGIN
IF (NEW.email IS NULL) THEN
CALL crear_email(new.nombre, new.dni, new.codigo, 'ull.edu.es', NEW.email);
END IF;
END;
- Trigger para no permitir que una persona viva en más de una ubicación.
CREATE TRIGGER vivienda_unica_insert BEFORE INSERT ON catastro.Persona
FOR EACH ROW
BEGIN
IF (new.Vivienda_calle IS NOT NULL AND new.Piso_Bloque_calle IS NOT NULL) THEN
signal sqlstate '45000' set message_text = 'Una persona no puede vivir en dos viviendas';
END IF;
END;
CREATE TRIGGER vivienda_unica_update BEFORE UPDATE ON catastro.Persona
FOR EACH ROW
BEGIN
IF (new.Vivienda_calle IS NOT NULL AND new.Piso_Bloque_calle IS NOT NULL) THEN
signal sqlstate '45000' set message_text = 'Una persona no puede vivir en dos viviendas';
END IF;
END;
- Trigger para actualizar automáticamente el stock de un producto.
CREATE TRIGGER trigger_actualizar_stock AFTER INSERT ON viveros.Pedido_has_Producto
FOR EACH ROW
BEGIN
UPDATE Producto SET stock = stock - new.cant_prod WHERE new.Producto_cod_prod = cod_prod;
END;