IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Contrôle de temps entre insertion


Sujet :

SQL Procédural MySQL

  1. #1
    Membre régulier Avatar de _Agrid
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 112
    Points
    112
    Par défaut Contrôle de temps entre insertion
    Bonjour à tous

    Petite question, Je ne sais pas si c'est du SQL Procédural qu'il me faut

    J'ai des IoT qui me font des insertions dans une table à des intervalles de temps régulier ex : 30s

    Je voudrais recevoir une alerte si l'insertion n'a toujours pas été faite au bout de 40s, 1mn et 3mn en fonction du nom du capteur [colonne 1]

    Pour diminuer le nombre de process susceptibles de dysfonctionner, est ce qu'il est possible d'implémenter un mécanisme directement sur le SGDB ?

    Qu'en pensez vous ?

    Merci

    _Agrid

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut _Agrid.

    Pour vérifier que les insertions de vos IoT (Internet of Things) se fassent bien, il vous faut créer un événement.
    Cet événement va rechercher la dernière ligne et vérifier par rapport à son timestamp si le temps écoulé est supérieur à 30 secondes.

    Ce que je ne sais pas faire, c'est créer une alerte à partir de MySql.

    Pour l'événement, voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    -- ==================
    -- Procedure `tester`
    -- ==================
     
    DROP PROCEDURE IF EXISTS `tester`;
     
    DELIMITER $$
    CREATE PROCEDURE `tester` ()
    DETERMINISTIC
    NO SQL
    BEGIN
      DECLARE _date  date DEFAULT NULL;
     
      SELECT `date` INTO _DATE from `votre_table` where `date` = (select max(`date`) from `votre_table`);
     
      truncate table `alerte`;
     
      IF (TIMESTAMPDIFF(SECOND, now(), _date) > 30) then INSERT INTO `alerte` (`libelle`) value ('votre message'); END IF;
    END $$
     
    -- ==================
    -- Evènement `alerte`
    -- ==================
     
    CREATE EVENT alerte
    	ON SCHEDULE
    	EVERY 1 SECOND
    	STARTS CURRENT_TIMESTAMP 
    	ENDS   CURRENT_TIMESTAMP + INTERVAL 1 year
    	ON COMPLETION PRESERVE ENABLE
    	DO BEGIN
    		CALL tester();
    	END$$
     
    DELIMITER ;
     
    -- ========================
    -- Lancement du `scheduler`
    -- ========================
     
    SET GLOBAL event_scheduler = ON;
    Je n'ai pas testé, mais écrit cela de tête.
    A vous de l'adapter à ce que vous désirez faire.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/09/2015, 13h21
  2. Requête pour calculer le temps entre deux dates
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 13h50
  3. [MySQL] SELECTION DE TEMPS ENTRE 2 DATES
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/04/2006, 01h54
  4. Perte de temps entre Deux bases MySQL
    Par ramm50 dans le forum Outils
    Réponses: 7
    Dernier message: 08/09/2005, 09h33
  5. [BDE] Echec de contrôle lors d'une insertion
    Par rbag dans le forum Bases de données
    Réponses: 2
    Dernier message: 26/11/2004, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo