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 Firebird Discussion :

[FireBird 2.0] Générateur et champs AutoInc


Sujet :

SQL Firebird

  1. #1
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut [FireBird 2.0] Générateur et champs AutoInc
    salut a tous
    j'ai créer un générateur pour un champs AutoInc mais il ne fonctionne pas automatiquement est ce qu'il faut que je l'appel depui mon programme a chaque insertion.

  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
    Salut

    Citation Envoyé par aityahia
    est ce qu'il faut que je l'appel depui mon programme a chaque insertion.
    Il est préférable de l'appeler depuis un trigger before insert.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TRIGGER MATABLE_BI FOR MATABLE
    ACTIVE BEFORE INSERT POSITION 0
    AS
    BEGIN
      IF (NEW.ID IS NULL) then NEW.ID = GEN_ID(MATABLE_ID_GEN,1);
    END
    @+

  3. #3
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 900
    Points : 6 025
    Points
    6 025
    Par défaut
    Non, tu n'as pas à l'appeler.

    Par contre, il faut créer un Trigger "before insert". c'est ce trigger qui s'occupe de gérer l'autoInc.

    Fais une recherche sur le forum, il y a des exemples pour ce type de trigger.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  4. #4
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    Citation Envoyé par Cl@udius
    Salut



    Il est préférable de l'appeler depuis un trigger before insert.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TRIGGER MATABLE_BI FOR MATABLE
    ACTIVE BEFORE INSERT POSITION 0
    AS
    BEGIN
      IF (NEW.ID IS NULL) then NEW.ID = GEN_ID(MATABLE_ID_GEN,1);
    END
    @+

    j'ai créer le générateur et le composant UIB Dataset prend en charge sont éxécution je vais essai avec un trigger.

    PS: si ce champs est une clé primaire avec des données je n'arrive pas a appler un commit pour l'activation du trigger (il me dit que le trigger peut générer des champs en double) meme si j'ai 1,2,3,4 et j'initialise mon trigger a 5.

  5. #5
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    pour le trigger sa marche

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

Discussions similaires

  1. [FireBird] Distinct avec un autre champ
    Par jojo86 dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/03/2008, 15h23
  2. [SQL Server] céer un champs AutoInc
    Par aityahia dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 03/07/2006, 09h52
  3. Reinitialiser Champ Autoinc
    Par StarMusic dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/03/2006, 14h55
  4. Réponses: 1
    Dernier message: 23/12/2005, 00h18

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