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 :

probleme de create trigger


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Points : 8
    Points
    8
    Par défaut probleme de create trigger
    Salut, j'ai un script sql d'installation des tables, index, sequences et triggers,
    et je suis obligé de separer d'un coté les creations de tables, sequences, index et de l'autre les triggers.

    en effet, je ne peux creer q'un trigger à la fois, il manque peu etre un separateur car il inclut les triggers suivants dans ce trigger par exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE OR REPLACE TRIGGER TRIG_SEQ_M_TOKENS_TBL BEFORE 
    INSERT ON M_TOKENS_TBL FOR EACH ROW
     WHEN (NEW.ID IS NULL OR NEW.ID = 0) BEGIN SELECT 
    SEQ_M_TOKENS_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;  END TRIG_SEQ_M_TOKENS_TBL;
    Alors ma question est simple, aurais je oublier un separateur?
    esce possible de creer plusieurs triggers à la fois sous oracle?
    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    manquerait pas un / après la création par hasard ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE OR REPLACE TRIGGER TRIG_SEQ_M_TOKENS_TBL BEFORE 
    INSERT ON M_TOKENS_TBL FOR EACH ROW
     WHEN (NEW.ID IS NULL OR NEW.ID = 0) BEGIN SELECT 
    SEQ_M_TOKENS_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;  
    END TRIG_SEQ_M_TOKENS_TBL;
    /

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    si effectivement, je ne l'avais pas mis sur le sujet mais ca me fait toujours le meme probleme.
    en executant ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE OR REPLACE TRIGGER TRIG_SEQ_M_USER_PREF_TBL BEFORE
     INSERT ON M_USER_PREF_TBL FOR EACH ROW
     WHEN (NEW.ID IS NULL OR NEW.ID = 0) BEGIN SELECT
     SEQ_M_USER_PREF_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;  END
     TRIG_SEQ_M_USER_PREF_TBL;
     /
    CREATE OR REPLACE TRIGGER TRIG_SEQ_M_TOKENS_TBL BEFORE INSERT ON
     M_TOKENS_TBL FOR EACH ROW
     WHEN (NEW.ID IS NULL OR NEW.ID = 0) BEGIN SELECT
     SEQ_M_TOKENS_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;  END
     TRIG_SEQ_M_TOKENS_TBL;
     /

    ca me donne ca dans le trigger TRIG_SEQ_M_USER_PREF_TBL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TRIGGER TRIG_SEQ_M_USER_PREF_TBL BEFORE INSERT ON 
    M_USER_PREF_TBL FOR EACH ROW
     WHEN (NEW.ID IS NULL OR NEW.ID = 0)
    BEGIN SELECT SEQ_M_USER_PREF_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;  END TRIG_SEQ_M_USER_PREF_TBL;
     /
     
     
    CREATE OR REPLACE TRIGGER TRIG_SEQ_M_TOKENS_TBL BEFORE INSERT ON 
    M_TOKENS_TBL FOR EACH ROW
     WHEN (NEW.ID IS NULL OR NEW.ID = 0) BEGIN SELECT 
    SEQ_M_TOKENS_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;  END 
    TRIG_SEQ_M_TOKENS_TBL;
     /

  4. #4
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Je ne vois pas bien ce qui va pas sur ton code, mais en tout cas oui tu peux creer plusieurs triggers à la fois.

    Essaye de passer une ligne entre tes deux triggers.
    Sinon la seule différence que je vois avec mes scripts de création de triggers c'est que je les termine par END; et non END nom_trigger;
    Mais je doute que ça soit ça.

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    il y a des espaces avant le / ?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE OR REPLACE TRIGGER TRIG_SEQ_M_PROJECT_VERSION_TBL
    BEFORE INSERT ON M_PROJECT_VERSION_TBL FOR EACH ROW
    WHEN (NEW.ID IS NULL OR NEW.ID = 0) 
    BEGIN SELECT SEQ_M_PROJECT_VERSION_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;END;
     
    CREATE OR REPLACE TRIGGER TRIG_SEQ_M_PROJECT_TBL 
    BEFORE INSERT ON M_PROJECT_TBL FOR EACH ROW
    WHEN (NEW.ID IS NULL OR NEW.ID = 0) 
    BEGIN SELECT SEQ_M_PROJECT_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;END;/
    en executant ceci, ca ne change rien, avez vous un exemple de script de plusieurs trigger parce que la je seche!
    merci de m'aider en tout cas

  7. #7
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    tu veux pas répondre à la question

    essaye SCRUPULEUSEMENT :
    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
     
    CREATE OR REPLACE TRIGGER TRIG_SEQ_M_PROJECT_VERSION_TBL
    BEFORE INSERT ON M_PROJECT_VERSION_TBL FOR EACH ROW
    WHEN (NEW.ID IS NULL OR NEW.ID = 0) 
    BEGIN 
    SELECT SEQ_M_PROJECT_VERSION_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;
    END;
    /
     
    CREATE OR REPLACE TRIGGER TRIG_SEQ_M_PROJECT_TBL 
    BEFORE INSERT ON M_PROJECT_TBL FOR EACH ROW
    WHEN (NEW.ID IS NULL OR NEW.ID = 0) 
    BEGIN 
    SELECT SEQ_M_PROJECT_TBL.NEXTVAL INTO :NEW.ID FROM DUAL;
    END;
    /
    il y a un / SANS ESPACE après TOUS les END;

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    merci Drizzt [Drone38] et Fred_D de m'avoir accordé un peu de temps pour mon probleme.
    Le script a crée les 10 triggers à la filée. merci encore!

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

Discussions similaires

  1. [PEAR][DB] [Db_DataObject_FormBuilder] Problème avec create
    Par Elboras dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/07/2010, 19h11
  2. Probleme avec mon trigger
    Par parrain27 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/05/2007, 13h10
  3. probleme avec le trigger STOCK
    Par madmax-mad dans le forum Oracle
    Réponses: 2
    Dernier message: 25/01/2007, 11h08
  4. Probleme de create
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 4
    Dernier message: 02/11/2006, 11h49
  5. Réponses: 2
    Dernier message: 01/03/2006, 16h16

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