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 :

Timezone des comptes


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Etudiant du Genie Logiciel
    Inscrit en
    Juillet 2011
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Etudiant du Genie Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 397
    Par défaut Timezone des comptes
    salut, j'ai le programme ci-dessous dont le but est de mettre a jour col2 tous les jours a 23h59min59s. le hic est que nous avons des comptes un peu partout en afrique et en europe. je voudrais que le programme s’exécute tous les jours a 23h59min59s selon la timezone de chaque compte.par exemple, si le compte se trouve en france, le SGBD doit changer automatiquement la valeur de col2. si le compte se trouve au cameroun et qu'il est 23h, col2 doit être mise a jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DROP EVENT IF EXISTS `updateColumn`;
    DELIMITER $$
    CREATE EVENT `updateColumn`
      ON SCHEDULE EVERY 1 DAY STARTS '2019-04-15 23:59:59' // je veux 23h59min59s du timezone
      ON COMPLETION PRESERVE
    DO BEGIN
      update ma_table set col2=col1;
    END$$
    DELIMITER ;
    merci

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 956
    Par défaut
    AMHA, il faudrait avoir :
    . une table des différents fuseaux horaires
    . une colonne qui pointe vers cette elle dans la table à mettre à jour et en profiter pour faire une clause where dans l'update
    . autant de EVENT que de fuseaux horaires existants

  3. #3
    Membre éclairé
    Homme Profil pro
    Etudiant du Genie Logiciel
    Inscrit en
    Juillet 2011
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Etudiant du Genie Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 397
    Par défaut odomètre journalier
    salut,
    s'il te plaît, peux-tu me montrer un exemple ? j'ai effectivement une table "user" avec une colonne timezone de chaque compte dans laquelle est renseignée le fuseau horaire de chaque compte.
    merci.

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 956
    Par défaut
    Désolé, pas de code à copier car trop de points à arbitrer :

    Le fait de créer la table des timezone est plus un réflexe qu'une réflexion - pas assez d'éléments.
    Grossièrement, cette table contiendra le résultat de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select distinct col_timezone from matable
    A affiner.
    Un des avantages immédiat à faire cette table est de pouvoir facilement faire un script de création suppression des EVENT en fonction du contenu.

    En fonction de la structure effective de la table précédente, créer une FK (faire concorder les types avec la colonne pointée par la FK ; bien penser à remplir la table des lignes déjà présentes dans matable)

    In fine, sur le modèle proposé, modifier l'EVENT de manière à ajouter une clause WHERE :
    DO BEGIN
    update ma_table set col2=col1 where id_timezone = 42 ;
    END$$

    Attention : les problèmes de Timezone sont des vraies plaies. Si, comme je le suspecte, la mise à jour est "timestampée" faut déterminer si on doit mettre l'heure du serveur ou du fuseau local.

    De plus, en relisant la remarque, es-tu sûr qu'il n'existe qu'un seul user (donc timezone) par "compte". Ne connaissant pas ton modèle, on peut très bien imaginer qu'un "compte" est une entreprise recouvrant plusieurs "user".

  5. #5
    Membre éclairé
    Homme Profil pro
    Etudiant du Genie Logiciel
    Inscrit en
    Juillet 2011
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Etudiant du Genie Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 397
    Par défaut odomètre journalier
    salut,
    effectivement, il peut exister plusieurs utilisateurs par zones.

  6. #6
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 956
    Par défaut
    Désolé mais c'est compliqué d'aider si de ton coté tu fais l'économie d'écriture.
    Citation Envoyé par bza88 Voir le message
    effectivement, il peut exister plusieurs utilisateurs par zones.
    On s'en doute ! on imagine très bien que tu n'as pas qu'un seul utilisateur en France (ou quelque soit le pays) ni même un seul utilisateur par fuseau horaire.

    Par contre, si pour un "compte", mettons "UNICEF", tu as effectivement plusieurs utilisateurs répartis sur différents fuseaux horaires, à quelle heure dois-tu faire la mise à jour ? en fonction de la taille du tour de poitrine ou de la phase de la lune ?

Discussions similaires

  1. [Thunderbird] changer l'ordre des comptes
    Par Eusebius dans le forum Thunderbird
    Réponses: 2
    Dernier message: 26/07/2006, 09h08
  2. Création des comptes pour Webmail
    Par podz dans le forum Linux
    Réponses: 3
    Dernier message: 19/07/2006, 12h37
  3. affichage des comptes utilisateurs
    Par christdu13 dans le forum Windows
    Réponses: 8
    Dernier message: 24/05/2006, 19h49
  4. [MySQL] Problème sur des comptes (login/mdp)
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/03/2006, 15h41
  5. [Client mail] Problème lors de l'ajout des comptes
    Par Leobaillard dans le forum Web & réseau
    Réponses: 9
    Dernier message: 19/11/2005, 17h12

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