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

Oracle Discussion :

séquence et trigger


Sujet :

Oracle

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 120
    Par défaut séquence et trigger
    bonjour,
    je voudrais créer une séquence ainsi qu'un trigger pour incrementer la clé primaire d'une table (APPELS_HOTLINE)

    voici ce que j'ai fait est ce que c'est bon ou pas (je debute)
    Merci

    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
     
    -- séquence :
     
    create sequence "SEQ_APPELS_HOTLINE" 
    start with 1
    increment by 1
     
    -- trigger :
     
    create trigger "TRG_APPELS_HOTLINE"  
      before insert on "APPELS"              
      for each row 
    begin  
      for c1 in ( 
        select SEQ_APPELS_HOTLINE.nextval next_val 
        from dual 
      ) loop 
        :new.APPELS_NUM :=  c1.next_val; 
      end loop; 
    end;

  2. #2
    Membre expérimenté Avatar de VinceTlse
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 163
    Par défaut
    Je pense que tu peux tout simplement faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    create trigger "TRG_APPELS_HOTLINE" 
      before insert on "APPELS"             
      for each row
    begin 
        :new.APPELS_NUM :=  SEQ_APPELS_HOTLINE.nextval;
    end;
    SEQ_APPELS_HOTLINE.nextval te retourne directement la valeur suivante de la séquence.

    J espere que cela te conviendra.

    Vince

  3. #3
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Essai plutôt ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    create trigger "TRG_APPELS_HOTLINE"  
      before insert on "APPELS"              
      for each row 
    declare
      next_val number;
    begin  
        select SEQ_APPELS_HOTLINE.nextval into :new.APPELS_NUM 
        from dual;
    end;

Discussions similaires

  1. trigger évènement système et création de séquence.
    Par yorgh1234 dans le forum PL/SQL
    Réponses: 13
    Dernier message: 16/04/2009, 15h33
  2. [power designer et Sybase] trigger
    Par mr_qno dans le forum Sybase
    Réponses: 4
    Dernier message: 12/07/2006, 18h32
  3. Réponses: 4
    Dernier message: 18/10/2004, 16h18
  4. Extraire une séquence d'un fichier MPEG
    Par enzosp dans le forum DirectX
    Réponses: 2
    Dernier message: 24/02/2003, 11h30
  5. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27

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