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

PL/SQL Oracle Discussion :

[Trigger]Erreur de Compilation


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 109
    Par défaut [Trigger]Erreur de Compilation
    Salut a Tous ,
    Je débute en langage PL/SQL et dans la notion de Trigger aussi , donc apres avoir tapé ce code j'ai cette réponse du compilo :
    Déclencheur crée avec des erreurs de compilation

    après l'avoir quelque peu modifié j'ai cette erreur : j'ai un nombre juste après ma requête , je fais entré et ca incrémente le nombre de 1 . Tout Ça dans l'invite de commande.
    Sauriez vous ou est l'erreur ?
    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
    ------------------------------------
    CREATE TRIGGER Poids
    BEFORE INSERT OR UPDATE ON Colis
    FOR EACH ROW
    
    DECLARE
        p integer; 
    	PoidsMax exception ; 
    	PoidsMin exception ;
    BEGIN
        SELECT colis.new.Poids into p ;
    	IF p > 10000 then RAISE PoidsMax ; End if  ;
    	IF p < 0 then RAISE PoidsMin ; End If  ; 
    	
    	EXCEPTION 
    	WHEN PoidsMax then raise_application_error ("Le Poids est trop elevé") ; 
    	WHEN PoidsMin then raise_application_error ("Le Poids doit être superieur a 10") ; 	
    END ;
    
    ---------------------------------------

  2. #2
    Invité
    Invité(e)
    Par défaut
    Essaie ça :

    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
    CREATE OR REPLACE TRIGGER Poids BEFORE
      INSERT OR UPDATE 
        ON Colis FOR EACH ROW 
     
      DECLARE 
        PoidsMax EXCEPTION ;
        PoidsMin EXCEPTION ;
     
      BEGIN
        IF :new.Poids > 10000 THEN
          RAISE PoidsMax ;
        elsif :new.Poids < 10 THEN
          RAISE PoidsMin ;
        END IF ;
     
      EXCEPTION
      WHEN PoidsMax THEN
        raise_application_error (-20001 , 'Le Poids est trop elevé') ;
      WHEN PoidsMin THEN
        raise_application_error (-20002, 'Le Poids doit être superieur a 10') ;
     
    END ;
    Dernière modification par Invité ; 08/10/2009 à 22h05.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 109
    Par défaut
    Merci de la réponse, mais j'ai l'erreur suivante :

    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

    SQL> @trigger2 ;
    23
    24


    A chaque saut de ligne ca incrémente le nombre.
    Je ne vois pas la gaffe que j'ai faite.
    En tout cas merci pour cette nouvelle manière de faire qui a l'air bien mieux.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Knarf64 Voir le message
    Merci de la réponse, mais j'ai l'erreur suivante :

    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

    SQL> @trigger2 ;
    23
    24


    A chaque saut de ligne ca incrémente le nombre.
    Je ne vois pas la gaffe que j'ai faite.
    Tu veux que je devine ce qu'il y a dans ton trigger2 ??
    Désolé, je n'y arrive pas


    Citation Envoyé par Knarf64 Voir le message
    En tout cas merci pour cette nouvelle manière de faire qui a l'air bien mieux.
    Sans erreurs de syntaxe, ça fonctionne mieux, c'est sur...
    Mais il y a surement plus propre comme façon de faire.
    Dernière modification par Invité ; 09/10/2009 à 17h31.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 109
    Par défaut
    J'ai mis un Copié /Collé de ce que tu m'as posté dans ton message.
    Desole j'avais pas precisé

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Knarf64 Voir le message
    J'ai mis un Copié /Collé de ce que tu m'as posté dans ton message.
    Desole j'avais pas precisé
    On va arrêté le jeu des devinnettes, s'il te plait...
    on va présumé que tu lances ça par SQLPlus (boule de cristal ?)
    j'imagine qu'il faut rajouter un
    à la fin du script pour l'éxécuter...
    Et encore je ne suis pas sûr.
    Mais si tu as réussi à créer le trigger, je ne vois pas où est le problème.

  7. #7
    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
    Citation Envoyé par Knarf64 Voir le message
    ...
    après l'avoir quelque peu modifié j'ai cette erreur : j'ai un nombre juste après ma requête , je fais entré et ca incrémente le nombre de 1 . Tout Ça dans l'invite de commande.
    Sauriez vous ou est l'erreur ?
    Le meilleur de moyen de le savoir est de tapper l'instruction suivante juste après l'apparition du message d'erreur:


  8. #8
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 109
    Par défaut
    Ok merci tous les deux :
    - avec le "/" Il me confirme la création du trigger.
    Et thanks pour la syntaxe que tu m'as montré.

    Merci pour la commande " Show Error" que je ne connaissais pas et qui est bien pratique.

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

Discussions similaires

  1. [11g] Erreur à la compilation d'un trigger composé
    Par Guiss dans le forum PL/SQL
    Réponses: 1
    Dernier message: 10/02/2015, 10h13
  2. Erreur de compilation trigger
    Par drogba72 dans le forum SQL
    Réponses: 4
    Dernier message: 22/01/2013, 15h08
  3. Réponses: 4
    Dernier message: 03/09/2008, 01h44
  4. Réponses: 5
    Dernier message: 25/04/2006, 01h02
  5. [10g] Trigger erreur de compilation
    Par flasomm dans le forum Oracle
    Réponses: 2
    Dernier message: 03/01/2006, 03h07

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