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 :

Affectation de variable


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Par défaut Affectation de variable
    La commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SHOW STATUS LIKE 'Com_commit';
    Retourne le nombre de "commit" qui ont été effectués sur la session courante.

    Est-il possible de récupérer la valeur de ce statut dans une variable utilisateur ?

    Mon problème est d'arriver à identifier les actions effectuées au cours d'un transaction. Le couple CONNECTION_ID() + Com_commit me donnerais un identifiant unique.

  2. #2
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    si CONNECTION_ID() + Com_commit vous donne un identifiant unique, a quoi vous sert le Com_commit ?? Si <Var> + Constante = Id Unique => <Var> = Id Unique CQFD !

    Bon courage

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Par défaut
    J'ai du mal m'exprimer...

    'Com_commit' n'est pas une constante. C'est un statut système lié à la session. A chaque commit d'une transaction dans la session courante, ce statut est incrémenté de 1.

    MySql ne fournissant d'ID de transaction, je cherche à contourner cette limitation. Pour tracer toutes les opérations effectuées au sein d'une même transaction, la concaténation du session_id et du com_commit permettrait de regrouper clairement toutes les actions effectuées au sein d'une seule transaction.

    Exemple :

    - Début de session : 'session_id' est à 'x', 'Com_commit' égal 0.
    - Commit d'une transaction : 'Com_commit' passe à 1.
    - Commit d'une seconde transaction : 'com_commit' passe à 2.
    etc...

    Je cherche donc à récupérer ce statut 'com_commit' dans une variable afin de pouvoir l'enregistrer dans un journal. La consultation de ce journal donnera en quelque sorte un pseudo 'transaction_id' en concaténant 'session_id' et 'com_commit'.

  4. #4
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    En théorie ce n'est pas suffisant de concaténer ces 2 valeurs telles quelles.
    Ex :

    Connection ID NbCommit Clé Générée

    13112341 1 131123411
    1311234 11 131123411

    D'ou 2 clés identiques pour 2 connections différentes => Cela ne correspond pas a vos spec.

    Il faudrait alors y inserer un delimiteur pour générer votre clé fonctionnelle.
    Vous pouvez aussi avoir ces 2 colonnes dans votre table et un identifiant technique auto incrémenté.

    Mais je ne connais ni votre modele, ni vos spec pour pouvoir avoir un avis tranché sur la question.

    Bon courage

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 5
    Par défaut
    Avoir deux clés identiques sur deux connexions différentes ne me pose pas de problème.

    Je cherche seulement à avoir deux (ou plus) clés différentes dans une seule connexion. La clé cherchée doit être différente pour chacune des 'n' transactions commit(ées) durant une seule et unique connexion.

Discussions similaires

  1. Problème d'affectation de variable
    Par bob33 dans le forum C
    Réponses: 3
    Dernier message: 04/11/2005, 17h01
  2. Affecter une variable javascript à une variable php
    Par gwendy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 20h58
  3. affecter une variable de type stringstream
    Par sorari dans le forum SL & STL
    Réponses: 3
    Dernier message: 24/03/2005, 11h14
  4. [PS] affectation de variable
    Par madmortal dans le forum SQL
    Réponses: 2
    Dernier message: 01/09/2004, 13h17
  5. script SQL : affectation de variables
    Par Laura dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/10/2003, 21h32

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