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
| DROP PROCEDURE IF EXISTS traiter;
DELIMITER $$
CREATE PROCEDURE traiter
(
IN In_Param VARCHAR(255)
)
DETERMINISTIC
NO SQL
BEGIN
DECLARE _fin INTEGER DEFAULT 1;
DECLARE _val VARCHAR(255);
DECLARE _col1 INTEGER;
DECLARE _col2 DATE;
DECLARE _tab CURSOR FOR SELECT col1, col2 FROM ma_table WHERE col3 IN _val;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET _fin = 0;
IF In_Param = 'o' THEN
SET _val = 'DEM,CLO';
ELSE SET _val = 'DEM';
END IF;
OPEN _tab;
FETCH _tab INTO _col1, _col2;
WHILE (_fin)
DO
...
FETCH _tab INTO _col1, _col2;
END WHILE;
CLOSE _tab;
END $$
DELIMITER ;
CALL traiter('o'); |
Partager