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

Bases de données Delphi Discussion :

[Firebird 2.5] A propos du compteur pour rendre inactif/actif un trigger


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué Avatar de Patrick25300
    Homme Profil pro
    Retraité en technicien de maintenance et méthodes
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Retraité en technicien de maintenance et méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Points : 134
    Points
    134
    Par défaut [Firebird 2.5] A propos du compteur pour rendre inactif/actif un trigger
    Bonjour

    J'ai un doute à propos du compteur.
    Est-ce que Firebird utilise le compteur lors de la déactivation ou activation du trigger, Voici les infos que j'ai trouvés sur le site de IBexpert
    Firebird (depuis la version 1.0) n'a pas incrémenter le compteur de changement de table lors de CREATE , ALTER ou DROP TRIGGER est utilisée. une fois que le compteur est à 255, vous ne pouvez plus créer, modifier ou supprimer des éléments déclencheurs de cette table.
    Mon doute le compteur existe, mais il n'est pas utilisé, donc la valeur du compteur n'atteindra pas 255 et pour la version 2.5...

    Dans une application, j'utilise un trigger pour des calculs, mais suivant les erreurs de saisies et les calculs exécutés, j'aimerai forcer une valeur et du coup désactiver le trigger. Si le compteur fonctionne tôt ou tard j'aurai un soucis. Même, si avec un backup et une restauration ça réinitialise le compteur ce n'est pas pratique pour l'utilisateur final.

    Merci pour vos réponses

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Bonjour
    Citation Envoyé par Patrick25300 Voir le message
    Mon doute le compteur existe, mais il n'est pas utilisé, donc la valeur du compteur n'atteindra pas 255 et pour la version 2.5...
    La phrase que tu donnes en citation a été à mon avis mal traduite.
    Toute modification effectuée sur une table incrémente ce fameux compteur dont la limite est fixée à 255. Cela reste à ma connaissance inchangé depuis la toute première version de Firebird.
    Donc à chaque fois que tu activeras/désactiveras le trigger de la table, son compteur sera incrémenté.
    Une fois cette limite atteinte, un backup/restore est nécessaire pour réinitialiser ces compteurs.

    Citation Envoyé par Patrick25300 Voir le message
    Dans une application, j'utilise un trigger pour des calculs, mais suivant les erreurs de saisies et les calculs exécutés, j'aimerai forcer une valeur et du coup désactiver le trigger.
    De manière générale, modifier les metadata de la base de données est à proscrire, ou doit rester très exceptionnel (hors application d'administration).
    Et puis une fois que tu as désactivé ce trigger pour une connexion donnée, qu'advient-il des autres connexions simultanées ? Plus de trigger !

    Je te conseille d'oublier cette méthode.
    Car c'est certainement dans l'écriture de tes triggers qu'il faut gérer les éventuelles erreurs de calcul (levée d'une exception ou correction des données).

    Pour conclure et enfoncer le clou je dirais qu'on ne modifie pas les metadata pour pallier une erreur de saisie.

    @+ Claudius.

  3. #3
    Membre habitué Avatar de Patrick25300
    Homme Profil pro
    Retraité en technicien de maintenance et méthodes
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Retraité en technicien de maintenance et méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Points : 134
    Points
    134
    Par défaut
    Bonjour

    Merci Cl@udius pour tes bons conseils, je vais voir pour m'y prendre correctement, étudier la question.
    A+

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    N’hésite pas à nous présenter le code de tes triggers (ou ton autre approche) si tu as des difficultés.

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Faire un compteur pour des sessions utilisateurs
    Par liverbird dans le forum C++Builder
    Réponses: 55
    Dernier message: 21/06/2006, 15h37
  2. A propos des copyright pour les images
    Par barthelv dans le forum Droit
    Réponses: 14
    Dernier message: 15/06/2006, 03h07
  3. [Débutant] Comment faire un compteur pour un bouton?
    Par Paulinho dans le forum AWT/Swing
    Réponses: 21
    Dernier message: 07/01/2006, 20h51
  4. Compteur pour Quickreport
    Par smail21 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 27/07/2005, 10h25

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