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
|
DELIMITER |
DROP PROCEDURE fidelitegmt.verif_generation|
CREATE PROCEDURE fidelitegmt.verif_generation(aidsoc INT,a_nbcarte INT)
BEGIN
/*******VARIABLE*******/
DECLARE var_nbmax INTEGER(32);
DECLARE var_nbrestant INTEGER(32);
DECLARE var_new_nb_restant VARCHAR(10);
DECLARE var_message VARCHAR(80);
DECLARE var_ok BOOL;
/*******TRAITEMENT*****/
SELECT NBMAX,(NBMAX-NBENCOURS)
INTO var_nbmax,var_nbrestant
FROM fidelitegmt.fid_kdocpt
WHERE TYPCOMPT = 1 AND IDSOC = aidsoc;
SET var_new_nb_restant = var_nbrestant - a_nbcarte;
IF var_new_nb_restant < 0 then
SET var_ok = FALSE;
SET var_message = CONCAT('Impossible... Pas assez de credit restant. Il vous reste ',var_nbrestant,' generations.');
ELSE
SET var_ok = TRUE;
SET var_message = CONCAT('Generation OK. Il vous reste ',var_new_nb_restant,' generation.');
END IF;
SELECT var_ok as ok, var_message as msg;
END| |
Partager