0% encontró este documento útil (0 votos)
6 vistas7 páginas

Funciones SQL para cálculos financieros y operativos

El documento presenta la creación de varias funciones en SQL para realizar operaciones matemáticas, calcular IVA y descuentos, calcular parafiscales de empleados, sumar habitantes de Colombia y aumentar el saldo de un usuario. Cada función está diseñada para devolver resultados específicos en formato de texto, incluyendo validaciones para asegurar la correcta ejecución de los cálculos. Se utilizan estructuras de control y consultas a bases de datos para obtener y manipular la información necesaria.

Cargado por

Adel Delkadrys
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas7 páginas

Funciones SQL para cálculos financieros y operativos

El documento presenta la creación de varias funciones en SQL para realizar operaciones matemáticas, calcular IVA y descuentos, calcular parafiscales de empleados, sumar habitantes de Colombia y aumentar el saldo de un usuario. Cada función está diseñada para devolver resultados específicos en formato de texto, incluyendo validaciones para asegurar la correcta ejecución de los cálculos. Se utilizan estructuras de control y consultas a bases de datos para obtener y manipular la información necesaria.

Cargado por

Adel Delkadrys
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

1.

Diseña una función que permita tomar 3 números y con ellos realizar las cuatro operaciones básicas
(+, -, *, /)

DELIMITER //

CREATE FUNCTION operaciones_basicas(a DOUBLE, b DOUBLE, c DOUBLE)

RETURNS VARCHAR(255)

DETERMINISTIC

BEGIN

DECLARE resultado VARCHAR(255);

SET resultado = CONCAT(

'Suma: ', a + b + c, '; ',

'Resta: ', a - b - c, '; ',

'Multiplicación: ', a * b * c, '; ',

'División (a/b)/c: ', IF(b != 0 AND c != 0, a / b / c, 'Indefinido'), '; ',

'División (a/c)/b: ', IF(c != 0 AND b != 0, a / c / b, 'Indefinido'), '; ',

'División (b/c)/a: ', IF(c != 0 AND a != 0, b / c / a, 'Indefinido')

);

RETURN resultado;

END //

DELIMITER ;
2. Diseñar una función que permita registrar un valor y con él calcularle el IVA (19%),
DESCUENTO (5%) se debe mostrar el valor real y los cálculos obtenidos

DELIMITER //

CREATE FUNCTION calcular_iva_descuento(valor DECIMAL(10, 2))

RETURNS VARCHAR(255)

DETERMINISTIC

BEGIN

DECLARE iva DECIMAL(10, 2);

DECLARE descuento DECIMAL(10, 2);

DECLARE total DECIMAL(10, 2);

-- Cálculo del IVA (19%)


SET iva = valor * 0.19;

-- Cálculo del Descuento (5%)

SET descuento = valor * 0.05;

-- Cálculo del Total

SET total = valor + iva - descuento;

-- Formateamos el resultado para mostrarlo

RETURN CONCAT(

'Valor Real: ', FORMAT(valor, 2),

', IVA (19%): ', FORMAT(iva, 2),

', Descuento (5%): ', FORMAT(descuento, 2),

', Total: ', FORMAT(total, 2)

);

END //

DELIMITER ;
3. Diseñar una función que permita utilizar la base de datos del DANE, utilice el
campo Salario de la tabla Empleado y calcule los parafiscales (Salud y Pensión)

DELIMITER //

CREATE FUNCTION calcular_parafiscales(emp_id VARCHAR(10))

RETURNS VARCHAR(255)

BEGIN

DECLARE salario INT DEFAULT 0; -- Inicializar salario

DECLARE salud DECIMAL(10, 2);

DECLARE pension DECIMAL(10, 2);

DECLARE total_parafiscales DECIMAL(10, 2);

-- Obtener el salario del empleado usando TRIM

SELECT Salario INTO salario

FROM empleado

WHERE TRIM(Id_E) = TRIM(emp_id);

-- Verificar si el salario es nulo

IF salario IS NULL OR salario = 0 THEN

RETURN 'Empleado no encontrado o sin salario registrado';

END IF;

-- Calcular los parafiscales

SET salud = salario * 0.125; -- 12.5% para Salud

SET pension = salario * 0.08; -- 8% para Pensión

SET total_parafiscales = salud + pension;


-- Devolver los resultados

RETURN CONCAT('Salario: ', salario, ', Salud: ', salud, ', Pensión: ', pension, ', Total Parafiscales: ',
total_parafiscales);

END //

DELIMITER ;

4. SELECT SUM(Cnt_Habitantes) AS Total_Habitantes_Colombia

FROM region;

5.

DELIMITER //

CREATE FUNCTION incrementar_saldo(codigo_usuario VARCHAR(20))

RETURNS VARCHAR(50)

DETERMINISTIC

BEGIN

DECLARE saldo_actual INT;

DECLARE mensaje VARCHAR(50);

-- Obtenemos el saldo actual del usuario

SELECT saldo INTO saldo_actual

FROM tblusuarios
WHERE usuario = codigo_usuario;

-- Verificamos si el usuario existe

IF saldo_actual IS NOT NULL THEN

-- Incrementamos el saldo en un 25%

SET saldo_actual = saldo_actual * 1.25;

-- Actualizamos el saldo en la tabla

UPDATE tblusuarios

SET saldo = saldo_actual

WHERE usuario = codigo_usuario;

SET mensaje = CONCAT('Saldo incrementado en 25% para el usuario ', codigo_usuario);

ELSE

SET mensaje = 'Usuario no encontrado';

END IF;

RETURN mensaje;

END //

DELIMITER ;

También podría gustarte