0% encontró este documento útil (0 votos)
21 vistas2 páginas

Vistas y Funciones SQL para Ventas

M

Cargado por

Juan Luis APC
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 TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas2 páginas

Vistas y Funciones SQL para Ventas

M

Cargado por

Juan Luis APC
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 TXT, PDF, TXT o lee en línea desde Scribd

//1- CREANDO UNA VISTA QUE CONTIENE nombre de los productos,

nombre de la categoría, nombre de la unidad, cantidad, valor, inventario inicial,


valor
normal, margen del IVA, peso.

CREATE VIEW vista_producto AS


SELECT nombre, n_categoria, idunidad, cantidad, valor, invinicial, valornormal,
margeniva, peso
FROM tblproductos
WHERE estado = 1;

//2- CREANDO UNA VISTA QUE CONTIENE nit, valor total, fecha,
latitud, longitud, nombre del cliente, contacto, dirección, nombre y apellidos del
vendedor
concatenados en una sola columna, ciudad del vendedor, estado.

CREATE VIEW vista_pedido AS


SELECT nit, valortotal, fecha, latitud, longitud, cedula, contacto, direccion,
CONCAT(nombre, ' ', apellidos) AS vendedor, ciudad, estado
FROM tblpedidos
WHERE estado = 1;

//3- Crear una función que reciba un valor en texto y lo retorne el valor en
decimal, esto
se aplica para resolver en el siguiente ítem de este trabajo.

DELIMITER //
CREATE FUNCTION convertir_decimal(valor TEXT) RETURNS DECIMAL(10,2)
BEGIN
DECLARE v_decimal DECIMAL(10,2);
SET v_decimal = CAST(valor AS DECIMAL(10,2));
RETURN v_decimal;
END //
DELIMITER ;

//4- Crear un procedimiento que reciba el NIT de un cliente y retorne el valor


total de las
compras realizadas utilizando la funcion creada anteriormente.

DELIMITER //
CREATE PROCEDURE sp_total_compras(IN nit_cliente VARCHAR(20))
BEGIN
DECLARE valor_total DECIMAL(10,2);
SELECT SUM(convertir_decimal(valortotal)) INTO total
FROM tblclientes
WHERE nit = nit_cliente;
SELECT total;
END //
DELIMITER ;

//5- Crear una función que reciba un valor decimal, el porcentaje del IVA y retorne
el
valor total aplicado aplicando el IVA.

DELIMITER //
CREATE FUNCTION valor_total_iva(valor DECIMAL(10,2), porcentaje_iva DECIMAL(10,2))
RETURNS DECIMAL(10,2)
BEGIN
DECLARE valor_total DECIMAL(10,2);
SET valor_total = valor + (valor * porcentaje_iva / 100);
RETURN valor_total;
END //
DELIMITER ;

//6- Crear un procedimiento que reciba la cédula de un vendedor, el porcentaje del


IVA y
que retorne las ventas realizadas por él y al total de cada una de esas ventas,
aplicarle el IVA en una columna calculada. Nota: debe utilizar funciones creadas en
los ítems anteriores.

DELIMITER //
CREATE PROCEDURE sp_ventas_vendedor(IN cedula_vendedor VARCHAR(20), porcentaje_iva
DECIMAL(10,2))
BEGIN
SELECT valortotal, valor_total_iva(convertir_decimal(valortotal),
porcentaje_iva) AS total_con_iva
FROM tblpedidos
WHERE cedula = cedula_vendedor;
END //
DELIMITER ;

También podría gustarte