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 :

probléme de générateur


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut probléme de générateur
    Bonjour,

    j'utilise interbase et j'ai un problème
    j'ai rajouté une colonne ID_DETAIL_COM INTEGER NOT NULL dans une table ou il y a deja des données (+ de 2000) en fait je voudré l'acrementer de 1 pour chaque ligne donc j'ai fait une procedure stockée et j'ai créé une générateur voici ma procedure stockée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    COMMIT WORK;
    SET AUTODDL OFF;
    SET TERM ^ ;
     
    /* Stored procedures */
     
    CREATE PROCEDURE DONNE_NUM_DETAIL_COM 
    RETURNS
    (
      ID_DETAIL_COM INTEGER
    )
    AS
    BEGIN EXIT; END ^
     
     
    ALTER PROCEDURE DONNE_NUM_DETAIL_COM 
    RETURNS
    (
      ID_DETAIL_COM INTEGER
    )
    AS
    BEGIN
    UPDATE DETAIL_COMMANDE
    SET ID_DETAIL_COM = GEN_ID(GEN_DETAIL_COM, 1)
    WHERE ID_DETAIL_COM = 0;
    END
     ^
     
    SET TERM ; ^
    COMMIT WORK;
    SET AUTODDL ON;
    et suand je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    execute procedure DONNE_NUM_DETAIL_COM
    et bien dans ma table il y a encore que des 0....
    alors qu'il devrait s'acrementer de 1
    si qq a la solution merci d'avance

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    La solution est de faire un trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SET TERM ^^ ;
    CREATE TRIGGER DETAIL_COMMANDE_1 FOR DETAIL_COMMANDE ACTIVE BEFORE UPDATE POSITION 1 AS
    begin
      if (new.ID_DETAIL_COM is null)
      then new.ID_DETAIL_COM = gen_id(GEN_DETAIL_COM, 1);
     
    end
    ^^
    SET TERM ; ^^
    puis ensuite un UPDATE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE DETAIL_COMMANDE SET ID_DETAIL_COM = NULL;
    et voilà, tu peux détruire ton trigger

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    OUPSSSSSSSSS j'ai essayé et ca m'a vidé ma table

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    non en fait je di des betise ca marche tres bien et merci bcp

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

Discussions similaires

  1. Problème avec générateur requêtes
    Par NOLISPU dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 09/11/2013, 20h37
  2. Problèmes avec Gfortran g95 (générateur aléatoire)
    Par genie_civil2006 dans le forum Fortran
    Réponses: 1
    Dernier message: 04/08/2009, 16h03
  3. problème de calcul dans le générateur d'expression
    Par BorisShem dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/03/2009, 06h54
  4. Problème lié au générateur de Code VBA
    Par tarbala dans le forum IHM
    Réponses: 1
    Dernier message: 23/11/2008, 04h40
  5. problème générateur de lettre .
    Par kimlaw95 dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2007, 14h37

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