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

Forms Oracle Discussion :

Numéro de séquence


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Par défaut Numéro de séquence
    Bonjour,

    J'utilise un trigger et une séquence pour l'alimentation d'une clé primaire.
    Sous forms, malgré que l'insertion n'est pas faite le numéro de séquence s'incrémente.
    Comment on peut incrémenter la séquence que s'il n'y a pas d'erreur et que l'ajout d'une donnée est fortement garantie ?

    Merci pour vos propositions.

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    fortement garantie ? la seule garantie est que l'enregistrement ait été effectif, donc la solution serait d'incrémenter la séquence après l'insertion puis mise à jour de la colonne avec un update, mais cela parait tout de même tité par les cheveux.
    Autre garantie possible, valoriser la colonne au moment de l'insert avec un trigger basé sur la table.

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Par défaut
    Autre garantie possible, valoriser la colonne au moment de l'insert avec un trigger basé sur la table.
    Merci pour ta réponse. est il possible de donner un exemple ?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 412
    Par défaut
    Je pense qu'il voulait dire un trigger coté base de donnée.

    Sinon, dans le pré-insert, coté Forms

  5. #5
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Voici un exemple de code sur un déclencheur de table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE OR REPLACE TRIGGER TRG_BIR_EMP
                     BEFORE INSERT -- avant insertion
                     ON EMP        -- sur la table EMP
                     FOR EACH ROW  -- pour chaque ligne
     Begin
                     SELECT the_sequence.nextval into :NEW.cle_primaire From dual;
     End ;
     /

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

Discussions similaires

  1. [AC-2003] création d'un numéro de séquence
    Par Syl_13 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/08/2009, 12h02
  2. Numéro de séquence non autorisé ici
    Par ronald.kooman dans le forum Oracle
    Réponses: 4
    Dernier message: 19/03/2009, 08h49
  3. Requête SQL avec "numéro de séquence"
    Par MatthieuQ dans le forum Développement
    Réponses: 8
    Dernier message: 23/01/2009, 13h34
  4. Réponses: 1
    Dernier message: 14/01/2008, 15h45
  5. Récupérer un numéro de séquence
    Par R1pToR dans le forum Struts 1
    Réponses: 22
    Dernier message: 17/07/2007, 17h14

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