PHP - Como realizo un procedimiento almacenado en mySQL.

 
Vista:

Como realizo un procedimiento almacenado en mySQL.

Publicado por Wilmer (1 intervención) el 09/03/2021 16:24:40
Como realizo un procedimiento en mySql, si el cliente tiene discapacidad o es de tercera edad.
Quiero me salga en la tabla de factura en el campo totalfactura con el descuento si el cliente es discapacitado o tercera edad , caso contrario no hay descuento.
Gracias de antemano.
Saludos..

Tengo este procedimiento pero solo realiza el proceso de la factura.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `procesar_venta`(IN `cod_usuario` INT, IN `cod_cliente` INT, IN `token` VARCHAR(50))
BEGIN
	DECLARE factura int;
 
    DECLARE registros int;
 
    DECLARE total decimal(10,2);
    DECLARE nueva_existencia int;
    DECLARE existencia_actual int;
    DECLARE tmp_cod_producto int;
    DECLARE tmp_cant_producto int;
    DECLARE descuento decimal(10,2);
    DECLARE a int;
    SET a = 1;
 
    CREATE TEMPORARY TABLE tbl_tmp_tokenuser(
        id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        cod_prod BIGINT,
        cant_prod int);
 
    SET registros = (SELECT COUNT(*) FROM detalle_temp WHERE token_user=token);
 
    IF registros > 0 THEN
    	INSERT INTO tbl_tmp_tokenuser(cod_prod,cant_prod) SELECT idmedidor,mes FROM detalle_temp WHERE token_user=token;
 
        INSERT INTO factura(usuario,codcliente) VALUES (cod_usuario,cod_cliente);
        SET factura = LAST_INSERT_ID();
 
        INSERT INTO detallefactura(nofactura,idmedidor,concepto,anio,mes,precio) SELECT (factura) as nofactura, idmedidor,concepto,anio,mes,precio FROM detalle_temp WHERE token_user=token;
 
         WHILE a <= registros DO
         SELECT cod_prod,cant_prod INTO tmp_cod_producto,tmp_cant_producto FROM tbl_tmp_tokenuser WHERE id=a;
      	 SET a=a+1;
         END WHILE;
 
         SET total =(SELECT SUM(precio + 0) FROM detalle_temp WHERE token_user=token);
         UPDATE factura SET totalfactura=total WHERE nofactura=factura;
         TRUNCATE TABLE tbl_tmp_tokenuser;
         SELECT * FROM factura WHERE nofactura=factura;
         DELETE FROM detalle_temp WHERE token_user=token;
 
    ELSE
 
    	SELECT 0;
 
    END IF;
 
END$$
DELIMITER ;


entidad_relacion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder