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 :

Auto génération d'une séquence en utilisant triiger oracle 11g


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2013
    Messages : 106
    Points : 38
    Points
    38
    Par défaut Auto génération d'une séquence en utilisant triiger oracle 11g
    Bonjour,

    je voudrais faire une séquence pour me générer l'incrémentation de mon clé primaire
    dans oracle il n'ya pas l'auto-génération de la clé primaire donc j'ai obligé d'utiliser un trigger
    j'ai un schéma qui contient tous mes objets et j'ai una autre utilisateur qui a des priviléges d'utiliser ces objets,
    Code de la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TABLE KPI.RAT
    (
      ID    INTEGER                                 NOT NULL  PRIMARY KEY,
      CODE  INTEGER,
      TYPE  VARCHAR2(50 BYTE)
    )
    Code de la séquence:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create sequence kpi.id_seq_rat start with 1 increment by 1;
    Code du trigger:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TRIGGER trigger_sequence_rat
    before INSERT ON kpi.rat FOR each row
    begin
       SELECT  kpi.id_seq_rat.NEXTVAL INTO :new.id FROM dual;
    end;
    quand je veux enregister ce trigger un erreur que la séquence n'existe pas
    mais la séquence est bien là dans le schema kpi

    aidez moi svp
    Merci d'avance,

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Crée ton trigger dans le schéma KPI

    CREATE TRIGGER KPI.trigger_sequence_rat

    Note que dans 12c, les autoincrémentations existent... enfin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create table t(x number GENERATED ALWAYS AS IDENTITY);

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2013
    Messages : 106
    Points : 38
    Points
    38
    Par défaut
    Merci LaurentSchneider pour ta réponse
    ça marche
    enfin oracle résoud le probléme d'autoincrémentation
    j'ai hate d'utiliser le 12c

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/08/2018, 17h02
  2. problème avec la première utilisation d'oracle 11g
    Par papypolo22 dans le forum Installation
    Réponses: 0
    Dernier message: 08/09/2011, 17h04
  3. Problème génération d'une séquence de date
    Par aïtaï_tsubasa dans le forum R
    Réponses: 3
    Dernier message: 03/06/2010, 10h39
  4. Génération d'une séquence alphanumérique
    Par nicoletflo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/05/2008, 15h04
  5. [Oracle] utilisation d'une séquence
    Par magic charly dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/04/2006, 09h39

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