Professional Documents
Culture Documents
POR
FREDDY MÁRQUEZ
CREATE PROCEDURE `mostrar_clientes`() NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER SELECT *
FROM clientes;
CREATE PROCEDURE `mostrar_perfil`() NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER SELECT
* FROM perfil;
NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER INSERT INTO abogados (Nombre_Usuario, Apel
lido_Usuario, Perfil_Usuario, Usuario_Clave, Usuario_Correo) VALUE(Nombre, Apellido, per
fil, clave, correo);
CREATE PROCEDURE `mostrar_abogados`() NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER SELECT *
FROM abogados;
7. Procedimiento almacenado para la inserción de datos en la tabla asesorías:
NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER INSERT INTO asesorias (idCliente, idAbogado, Fe
cha, Condiciones, Total_Honorarios, observaciones,
ref_asesoria) VALUE(idCliente, idAbogado, fecha, condiciones, honorarios, observaciones,
referencia);
CREATE PROCEDURE `mostrar_asesorias`() NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER SEL
ECT * FROM asesorias;
9. Procedimiento almacenado para la consulta que permita conocer los datos del
cliente y de la asesoría recibida dado el código de la asesoría:
CREATE PROCEDURE `perfil_abogado`(IN `idAbogado` INT) NOT DETERMINISTIC NO SQL SQL SECUR
ITY DEFINER SELECT a.`idUsuarios`, a.`Nombre_Usuario`, a.`Apellido_Usuario`,a.`Usuario_C
orreo`, p.`Nombre_bufet`, p.`Telefono`, p.`Resolucion`, p.`Ciudad` FROM `abogados` a INN
ER JOIN perfil p ON p.idPerfil = a.Perfil_Usuario WHERE a.idUsuarios =idAbogado;
FUNCIONES
1. Función que permite obtener los datos concatenados del nombre del abogado
según el código ingresado como parámetro
DELIMITER $$
CREATE FUNCTION nombreabogado (id INT) RETURNS VARCHAR(150) BEGIN DECLARE nombrecompleto
VARCHAR(150); SET nombrecompleto = (SELECT CONCAT(`Nombre_Usuario`,"
",`Apellido_Usuario`)FROM abogados WHERE `idUsuarios` = id); RETURN nombrecompleto; END
$$
DELIMITER $$
2. Función que permite obtener el valor total de todos los honorarios generados
por concepto de asesorías:
DELIMITER $$
DELIMITER $$
3. Función que permite obtener el valor máximo de todos los honorarios cobrados
por asesorías:
DELIMITER $$
CREATE FUNCTION honorarios_max () RETURNS FLOAT BEGIN DECLARE total FLOAT; SET tot
al = (SELECT MAX(`Total_Honorarios`) FROM asesorias); RETURN total; END $$
DELIMITER $$
4. Función que permite obtener los días que han trascurrido hasta la fecha actual
de una asesoría según su id:
DELIMITER $$
CREATE FUNCTION dias_transcurridos (idIn INT) RETURNS INT BEGIN DECLARE dias INT;
SET dias = (SELECT DATEDIFF(CURDATE(),fecha) AS "Dias
Transcurridos" FROM asesorias WHEREidAsesoria = idIn); RETURN dias; END $$
DELIMITER $$
5. Función que permite obtener el valor promedio de los honorarios cobrados por
asesorías:
DELIMITER $$
DELIMITER $$
DESENCADENADORES – TRIGGERS
DELIMITER $$
CREATE TRIGGER `abogados`.`accionesAbogados` AFTER INSERT ON `abogados`.`abogados` FOR EAC
H ROW BEGIN INSERT historial(`usuario`,`accion`,`tabla`,`idRegistro`)VALUES("root","INSERT
","abogados",NEW.idUsuarios); END $$
DELIMITER $$
DELIMITER $$
CREATE TRIGGER `abogados`.`modificarAbogados` AFTER UPDATE ON `abogados`.`abogados` FOR EA
CH ROW BEGIN INSERT historial(`usuario`,`accion`,`tabla`,`idRegistro`)VALUES("root","UPDAT
E","abogados",OLD.idUsuarios); END $$
DELIMITER $$
3. TRIGGER QUE REGISTRA EN LA TABLA HISTORIAL LA ELIMINACION DE UN REGISTRO EN LA TABLA
ABOGADOS
DELIMITER $$
CREATE TRIGGER `abogados`.`eliminarAbogado` AFTER DELETE ON `abogados`.`abogados` FOR EACH
ROW BEGIN INSERT INTO historial(`usuario`,`accion`,`tabla`,`idRegistro`)
VALUES("root","DELETE","abogados",OLD.idUsuarios); END $$
DELIMITER $$
DELIMITER $$
CREATE TRIGGER `abogados`.`ingresoCliente` AFTER INSERT ON `abogados`.`clientes` FOR EACH
ROW BEGIN INSERT INTO historial(`usuario`,`accion`,`tabla`,`idRegistro`)
VALUES("root","INSERT","clientes",NEW.idCliente); END $$
DELIMITER $$
11
5. TRIGGER QUE REGISTRA EN LA TABLA HISTORIAL LA ELIMINACION DE REGISTROS EN LA TABLA
CLIENTES
DELIMITER $$
CREATE TRIGGER `abogados`.`eliminarCliente` AFTER DELETE ON `abogados`.`clientes` FOR EACH
ROW BEGIN INSERT INTO historial(`usuario`,`accion`,`tabla`,`idRegistro`)
VALUES("root","DELETE","clientes",OLD.idCliente); END $$
DELIMITER $$
12