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

 Firebird Discussion :

IBEasy+ Triggers incrémente de 2 en 2


Sujet :

Firebird

  1. #1
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut IBEasy+ Triggers incrémente de 2 en 2
    Bonjour, j'ai créé mes triggers et générateurs avec IBEsy + afin d'auto incrémenter mes champs ID.

    Les incréments fonctionnent bien sauf qu'ils sont fait de 2 en 2...

    Voici le code que j'ai mis sur mon trigger (Before Insert) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    AS
    begin
         new.id = gen_id(GEN_INTER, 1);
    end
    Avez-vous une idée? Ca n'empêche pas ma base de fonctionner, mais j'aime bien comprendre...

    Merci à vous !

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut


    où effectues-tu tes insertions ? IBEasy ? ton application ?
    en effectuant une insertion sous isql as-tu le même problème ?

  3. #3
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Salutation !

    Que ce soit avec mon application ou avec IBEasy, j'ai le même soucis...

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Tu n'aurais pas 2 déclencheurs ?
    ou deux appels au générateur associé à la table avec un incrément de 1 (un dans le déclencheur, un dans une procédure stockée réalisant l'insertion ?
    --
    Philippe.
    Philippe.

  5. #5
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par evarisnea Voir le message
    en effectuant une insertion sous isql as-tu le même problème ?
    Citation Envoyé par Ph. B. Voir le message
    Tu n'aurais pas 2 déclencheurs ?

  6. #6
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Tu n'aurais pas 2 déclencheurs ?
    ou deux appels au générateur associé à la table avec un incrément de 1 (un dans le déclencheur, un dans une procédure stockée réalisant l'insertion ?
    --
    Philippe.
    2 declencheurs c'est la premiere chose a laquelle j'ai songé...
    Mais je n'ai rien trouvé d'anormal...

    C'est quoi que vous appeler isql?

  7. #7
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    isql est un utilitaire en mode texte qui est fourni avec firebird. il fournit une interface en ligne de commande pour la connexion aux bases de données firebird.
    tu peux ainsi l'utiliser pour te connecter à ta base de données et exécuter une requête INSERT dessus.

    http://www.firebirdsql.org/manual/isql.html
    connexion à une base de données avec isql
    exemple d'utilisation

    ici l'intérêt d'utiliser l'outil est d'éliminer une erreur qui viendrait de ton application ou de IBEasy, afin que l'on sache si le problème concerne la base de données elle même.

  8. #8
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Comment fais tu l'insertion ? Passes-tu par une procédure stockée qui incrémenterait le générateur, ce qui associé à l'incrémentation liée au déclencheur expliquerait ce pas de 2 ?

    Sinon, as tu réalisé une trace de ce qui se produit dans la base ?

    Ensuite, bien que je m'écarte du sujet, j'aurais écrit le déclencheur comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    AS
    begin
      if (new.id is null) then
         new.id = gen_id(GEN_INTER, 1);
    end
    Cela permet de réaliser des insertions où la colonne id est défini par l'appelant et non automatiquement.
    --
    Philippe.
    Philippe.

Discussions similaires

  1. Trigger incrémente plusieurs champs
    Par SOPSOU dans le forum Développement
    Réponses: 5
    Dernier message: 15/09/2011, 02h05
  2. Trigger : incrémenter un champ selon un autre champ
    Par David55 dans le forum Requêtes
    Réponses: 9
    Dernier message: 28/03/2011, 18h26
  3. Réponses: 11
    Dernier message: 19/07/2010, 23h48
  4. Trigger incrémentation @@identity
    Par agur29 dans le forum Développement
    Réponses: 8
    Dernier message: 21/11/2007, 17h09
  5. 1er déclenchement d'un trigger d'auto-incrément
    Par babylone7 dans le forum Administration
    Réponses: 11
    Dernier message: 11/03/2004, 16h21

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