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
| DELIMITER |
DROP PROCEDURE IF EXISTS import_donnees|
CREATE PROCEDURE import_donnees( nbCapteur INTEGER)
BEGIN
DECLARE iter INTEGER DEFAULT 0;
iterwhile: WHILE iter <= nbCapteur DO
SET @myInsert:=
CONCAT
('
INSERT INTO relever_mesure(valeur, id_calendrier_calendrier, id_station_Stations, id_capteur_capteur)
SELECT i.`',iter,'`,
c.id_calendrier,
i.id_station,
',iter,'
FROM import i
INNER JOIN calendrier c ON i.date_heure = c.date_heure_locale
WHERE i.`',iter,'` <>"(null)"
ON DUPLICATE KEY UPDATE valeur=VALUES(valeur)');
prepare stmnt FROM @myInsert;
EXECUTE stmnt;
DEALLOCATE PREPARE stmnt;
SET iter = iter + 1;
END WHILE iterwhile;
TRUNCATE TABLE import;
END; |